6

任何人都知道爲什麼下面的代碼在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"); 
} 
... 
+0

這兩個請求都是通過WiFi執行的嗎? – 2012-02-05 22:58:37

+0

是的,兩者都通過WiFi。 – d60402 2012-02-06 02:25:28

回答

0

如果你沒有別的什麼時間,安裝一個終端,並期待在top上的Galaxy Tab,以確保CPU沒有被消耗例如android.process.media。

+0

CPU總高峯僅達到16%。而android.process.media甚至沒有進入前20名。 – d60402 2012-02-06 02:40:53