Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为什么对冰淇淋三明治的缓冲区做了这样的改变?_Android_Apache - Fatal编程技术网

Android 为什么对冰淇淋三明治的缓冲区做了这样的改变?

Android 为什么对冰淇淋三明治的缓冲区做了这样的改变?,android,apache,Android,Apache,有谁能帮我理解这个“修复”: 这导致我的运动jpeg(mjpg,mjpeg)代码在我阅读jpg图像时速度减慢。修复对我来说似乎很可怕,完全忽略传递的参数,因此调用方没有机会调整值 是否有办法解决此更改,以便使用更大的缓冲区大小?来自提交日志: 让ApacheHttpClient与大型内核套接字缓冲区配合使用 给定内核套接字可能设置的最大大小 LTE设备上的缓冲区,我们需要阻止Apache HttpClient 在堆上为每个堆分配该大小的整数倍 插座在一台设备上,16个HTTP连接将填满堆 这基

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

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

是否有办法解决此更改,以便使用更大的缓冲区大小?

来自提交日志:

让ApacheHttpClient与大型内核套接字缓冲区配合使用

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

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


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

这显示了如何替换会话输入缓冲区(在本例中用于日志记录),请参阅受保护的SessionInputBuffer createSessionInputBuffer的覆盖。感谢您的解决方案建议。我可以试试,但看起来可能会很复杂。我正在调用DefaultHttpClient::Execute(),它将引导我完成十几个调用,最后进入SocketInputBuffer()构造函数。似乎我必须将几个类复制到我的项目中才能完成,因为我不认为我可以简单地重写函数。现在我已经到了这样的地步,因为我不再使用这些类,所以我错过了对这些类的任何改进。我希望代码中有一个简单的钩子。