android - HttpPost 在 Android 3.2 上的 HttpClient 执行速度明显低于 2.3.3

标签 android performance httpclient http-post android-3.0-honeycomb

有谁知道为什么下面的代码在 Android 3.2(Samsung Galaxy 10.1"Tab)上的运行速度比在 2.3.3(Motorola 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");
}
...

最佳答案

如果您没有对其他任何东西进行计时,请安装一个终端并查看 Galaxy Tab 上的 top,以确保 CPU 未被消耗,例如android.process.media.

关于android - HttpPost 在 Android 3.2 上的 HttpClient 执行速度明显低于 2.3.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9152889/

相关文章:

android - 粗略定位是否比 Android 上的地理围栏使用更少的电池?

php - 性能: "or ' PHP

java - DefaultHttpClient AsyncTask 类超时异常

java - 使用 HttpClient 时跨 Activity 使用 Cookie

android - 如何解决Android项目中的ERROR : Failed to resolve: com. google.firebase :firebase-measurement-connector:11. 6.0?

android - 销售 Android 应用

android - 样式或性能 : "new ContentValues()" VS "contentValues.clear()"

java - 有时必须等待很长时间,直到 HttpClient.execute() 抛出异常

android - getSupportActionBar() 方法 getSupportActionBar() 未为 TaskActivity 类型定义。为什么?

android - RecyclerView 滚动到底部