任何人都知道爲什麼下面的代碼在Android 3.2(三星Galaxy 10.1「選項卡)上的運行速度比在2.3.3(摩托羅拉Droid X)上慢4倍左右?HttpPost執行HttpPost在Android 3.2上明顯比2.3.3慢了
在Android 2.3.3中,client.execute()呼叫平均需要350ms的。在3.2平均需要1400ms。
此外,結果是一樣的,不管無論是在UI線程還是後臺線程中運行。
這是一個操作系統錯誤或硬件問題?或者我在代碼中沒有做正確的事情?不幸的是,我不能讓亞行連接到我的3.2虛擬設備,所以我不能排除硬件問題,但我的直覺告訴我這是一個蜂窩問題。
HttpResponse resp = null;
HttpParams params = new BasicHttpParams();
params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
HttpClient client = new DefaultHttpClient(params);
ArrayList<BasicNameValuePair> postParms = new ArrayList<BasicNameValuePair>();
postParms.add(new BasicNameValuePair("name", "test"))
try
{
HttpPost hp = new HttpPost("http://myserver/path/method");
UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(postParms);
hp.setEntity(formEntity);
Long start = SystemClock.elapsedRealtime();
resp = client.execute(hp);
Long stop = SystemClock.elapsedRealtime();
Log.i("Time = " + (stop-start) + "ms");
}
...
這兩個請求都是通過WiFi執行的嗎? – 2012-02-05 22:58:37
是的,兩者都通過WiFi。 – d60402 2012-02-06 02:25:28