3

我有一个应用程序使用loopj 的android-async-http库进行网络检索 JSON。我看到网络请求很慢,每个大约需要 1 秒。来自 iOS 应用程序的相同调用大约需要 250 毫秒,所以我知道问题不在服务器上,而在客户端。将日志消息放入我的代码和 android-async-http 库中以查看速度慢的地方,我看到在 android-async-http 中调用 client.execute(request, context) 占用了时间图书馆。

我知道谷歌不再推荐使用 apache http 客户端,但是 android-async-http 正在使用它。

我尝试使用httpclienandroidlib-1.1.2,它修复了我看到的其他一些错误,但没有提高性能。

我确保保持活动已打开并正常工作。这将后续请求提高到大约 750 毫秒。第一个请求仍然很慢,我们的 iOS 应用程序在后续请求中速度更快。

有没有其他人看到 Android 上的网络很慢?如果是这样,你做了什么来改进它?

4

1 回答 1

0

我在带有 android 的链接中使用相同的库。

我使用一个线程池,每个域有 5 个可用线程,处理类异步 http 速度的处理程序,并且有一个快速的服务器。

loop-j 或纯 async-http 可能不是必需的。在你的情况下,它肯定不会很快。

我在 WIFI 上的当前设备上使用 android 4.2,并且可以通过大量 http 请求使单个 wifi 用户的全部可用带宽饱和......

我得到 20 - 30 个请求。每秒上传的吞吐量,其中每次上传是 80k 的二进制数据。

http://pastebin.com/v4EDq6mr

将 pastbin 滚动到第 57 行以获取详细信息。

于 2014-03-17T21:50:52.833 回答