2

谁能帮我理解这个“修复”:

https://www.gitorious.org/rowboat/external-apache-http/commit/e30b5b55806b31d1a61e2885b854dd7b8da1a07a

当我阅读 jpg 图像时,它导致我的运动 jpeg (mjpg, mjpeg) 代码变慢。修复对我来说似乎很可怕,完全忽略了传递的参数,因此调用者没有机会调整值。

有没有办法解决这个变化,以便我可以使用更大的缓冲区大小?

4

1 回答 1

2

从提交日志:

使 Apache HttpClient 与大型内核套接字缓冲区配合得很好。

考虑到可能为 LTE 设备上的内核套接字缓冲区设置的最大大小,我们需要阻止 Apache HttpClient 在堆上为每个套接字分配该大小的整数倍。在一台设备上,16 个 HTTP 连接将填满堆。

这基本上意味着 Android 不信任 LTE 设备来设置自己的缓冲区大小,因为它会过快地填满堆。

作为一种解决方法,请尝试扩展AbstractSessionInputBuffer以创建您自己的SocketInputBuffer类版本。

于 2012-06-27T16:56:18.973 回答