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

时间:2014-02-28 19:31:26

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

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

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

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

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

有没有人看到Android上的网络速度很慢?如果是这样,你做了什么改进呢?

1 个答案:

答案 0 :(得分:0)

我在链接w / android中使用相同的lib。

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

loop-j或pure async-http可能没有必要。在你的情况下,它肯定不快。

我在WIFI上的当前设备上使用android 4.2,并且可以作为具有多个http请求的单个wifi用户饱和全部可用带宽......

我得到20 - 30 req。上传时每秒吞吐量,每次上传的内存为80k二进制数据。

http://pastebin.com/v4EDq6mr

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