HttpPost的HttpClient执行在Android 3.2上显着慢于2.3.3

d60*_*402 6 performance android httpclient http-post android-3.0-honeycomb

任何人都知道为什么下面的代码在Android 3.2(三星Galaxy 10.1"Tab)上比在2.3.3(摩托罗拉Droid X)上运行慢4倍?

在Android 2.3.3上,client.execute()调用平均需要350毫秒.3.2以下平均需要1400毫秒.

此外,无论是在UI线程还是后台线程中运行,结果都是相同的.

这是操作系统错误还是硬件问题?或者我在代码中没有做正确的事情?不幸的是我不能让ADB连接到我的3.2虚拟设备,所以我不能排除硬件问题,但我的直觉告诉我这是一个Honeycomb问题.

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");
}
...
Run Code Online (Sandbox Code Playgroud)

Jul*_*ren 0

如果您没有安排其他时间,请安装终端并top在 Galaxy Tab 上查看,以确保 CPU 没有被 android.process.media 等消耗。