Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.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 AsyncHttpClient下载大型Pdf文件时内存不足错误_Android - Fatal编程技术网

Android AsyncHttpClient下载大型Pdf文件时内存不足错误

Android AsyncHttpClient下载大型Pdf文件时内存不足错误,android,Android,我正在开发我的第一个Android应用程序,遇到了一个小问题。使用AsyncHttpClient下载我得到的Pdf文件 "E/dalvikvm-heap(30871): Out of memory on a 21893326-byte allocation." 任何大于15 Mb的文件都有错误。高达15MB的文件可以下载。是否有任何设置可以解决此问题 提前感谢您的帮助 是否有任何设置可以解决此问题 不是真的。假设您使用的是BinaryHttpResponseHandler,它将为

我正在开发我的第一个Android应用程序,遇到了一个小问题。使用AsyncHttpClient下载我得到的Pdf文件

      "E/dalvikvm-heap(30871): Out of memory on a 21893326-byte allocation." 
任何大于15 Mb的文件都有错误。高达15MB的文件可以下载。是否有任何设置可以解决此问题

提前感谢您的帮助

是否有任何设置可以解决此问题

不是真的。假设您使用的是
BinaryHttpResponseHandler
,它将为您提供内存中的整个文件,这对于较大的文件是不可能的


您需要使用修改后的
sendResponseMessage()
方法创建自己版本的
BinaryHttpResponseHandler
,该方法将结果直接流式传输到文件中。或者,找到另一个为您提供此功能的HTTP客户端库。

我一直在使用您的项目来了解您的情况。Camre->Preview就是其中之一。我很感谢你的帮助。通过你们的启发,我想知道一些事情,我们可以使用一些回调机制或侦听器来获取文件上传进度吗?我正在使用AsyncHttpClient(loopj)。似乎这个问题也与AsyncHttpClient(loopj)有关。任何帮助或指导都会非常有用。@FahadIshaque:我没有使用AsyncHttpClient——我只是阅读源代码来确定您的问题所在。如果您对AsyncHttpClient有进一步的疑问,最好联系其作者。谢谢您的回复。Camare->Preview是一个很好的例子,请您在其中添加一个摄像头可用性检查(专用或前置)。由于显而易见的原因(没有专用摄像头),我已经测试过它,并且在我的所有设备上都可以正常工作,Nexus7除外。谢谢干杯@法哈迪沙克:我计划在接下来的几个月里为相机工作创建一个可重用的组件,我会尽量记住考虑你的请求。谢谢你的回复!不是我想听的,但至少我有一些清晰。你将如何处理这个问题?