我有一个使用 android-async-http 的应用程序用于网络检索 JSON 的 loopj 库。我看到网络请求很慢,每次大约需要 1 秒。来自 iOS 应用程序的相同调用大约需要 250 毫秒,所以我知道问题不在服务器上,而是在客户端上。将日志消息放入我的代码和 android-async-http 库中以查看速度慢的地方,我发现在 android-async-http 中调用 client.execute(request, context) 占用了时间图书馆。
我知道谷歌不再推荐使用 apache http 客户端,但是 android-async-http 正在使用它。
我试过使用 httpclienandroidlib-1.1.2 ,它修复了我看到的其他一些错误,但没有提高性能。
我已确保 keep-alive 已打开并正常工作。这将后续请求改进到大约 750 毫秒。第一个请求仍然很慢,而我们的 iOS 应用程序在后续请求上更快。
有没有其他人看到 Android 上的网络速度很慢?如果是这样,您做了哪些改进?
最佳答案
我在你的链接中使用了与 android 相同的库。
我使用一个线程池,每个域有 5 个可用线程,类似异步 http 速度的处理程序,并且有一个快速的服务器。
loop-j 或纯 async-http 可能不是必需的。在您的情况下,它肯定不快。
我在 WIFI 上的当前设备上使用 android 4.2,并且可以作为单个 wifi 用户使用大量 http 请求使全部可用带宽饱和...
我得到 20 - 30 个请求。每秒上传吞吐量,每次上传是 80k 的二进制数据。
将 pastbin 滚动到第 57 行以获取详细信息。
关于android - android-async-http loopj 使用的 httpclientandroidlib 很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22104220/