使用具有较小堆大小的StringEntity通过http post方法发送大文件

时间:2013-02-12 20:17:27

标签: android http post out-of-memory

让我们考虑一下这种情况。你有一个小堆,大约15-16MB,你想发送一个巨大的文件,但不是通过REST帖子大小的堆大小。在Android中有一个完整的API来执行它但它要求您将数据包含在StringEntity中,其中最多只有两个参数。字符串是身体和Charset。假设你有一个大约10MB的文件。一切顺利,直到您将数据放入发生异常的StringEntity:OutOfMemory,其中包含有关完整堆栈的描述。

如何在不分块数据的情况下解决此问题?

1 个答案:

答案 0 :(得分:1)

请改用FileEntity。这会将数据流式传输到请求中,而不是将其加载到内存中。