android - android-async-http loopj 使用的 httpclientandroidlib 很慢

标签 android performance apache-httpclient-4.x loopj android-async-http

我有一个使用 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 的二进制数据。

http://pastebin.com/v4EDq6mr

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

关于android - android-async-http loopj 使用的 httpclientandroidlib 很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22104220/

相关文章:

android - 在 android 中关闭 webapp 时 cookie 被清除

android - Delphi Firemonkey iOS后台处理

android - Android 中 MultiPart 可编译方法的 NoClassDefFoundError

ruby-on-rails-3 - Rails的性能问题:如何发送gzip Assets

testing - 模拟与 Apache HTTP 客户端的中断连接(用于测试目的)

java - 将 POSTMAN 代码翻译成 Java

android - 重新安装 apk 的行为是什么?

c++ - C++中有很多种分割字符串的方法,哪种方法性能最好?

java - 在接口(interface)正确的方法中包括接口(interface)实现?

angular - httpClient请求在Angular4中被调用两次