6

Android 3.2(Samsung Galaxy 10.1 "Tab)で2.3.3(Motorola Droid X)よりも約4倍遅くなる理由は誰でも知っています。 ?アンドロイド2.3.3でHttpPostのHttpClientの実行がAndroid 3.2で2.3.3よりも大幅に遅い

に、client.execute()呼び出しは350msの平均を取ります。3.2の下では、それは1400ms平均を取る。

はまた、結果にかかわらず同じですそれがUIスレッドかバックグラウンドスレッドのどちらで実行されているのかを示します。

これはOSのバグかハードウェアの問題ですか?あるいは私のコードで何かをやっていないのですか?残念なことに、3.2仮想デバイスにADBを接続することはできないため、ハードウェアの問題を排除することはできませんが、これはハニーコムの問題です。

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経由で実行されていますか? –

+0

はい、どちらもWiFi経由です。 – d60402

答えて

0

あなたは何かのタイミングでない場合は、CPUは、例えばによって消費されていないことを確認するために、端末にイ​​ンストールして、ギャラクシータブ上topを見てandroid.process.media。

+0

合計CPUピークは16%にしかなりません。 android.process.mediaはトップ20にさえありません。 – d60402