通过Redis发布消息时出现OutOfMemory异常

时间:2014-08-22 10:21:58

标签: android json memory redis heap

我想将一条JSON消息发布到Redis服务器。此JSON消息包含Base64编码的音频文件,原始文件大约为2.5 MB(可能会根据音频文件的持续时间进一步更改)。我想使用Android应用程序将此编码的音频文件作为JSON消息发布到Redis。以下是我使用过的代码:

JSONObject servicedData=receivedJSON.getJSONObject("data");
long dataPublished=jedisConnection.publish(queryNo, servicedData.toString());

我使用android应用程序创建一个JSON对象并提取它的数据部分(包含编码的音频文件),然后将其发布到一个频道。此代码适用于较小的文件,但只要文件大小超过2MB,就会抛出内存不足的异常。以下是我得到的错误日志:

enter image description here

经过大量的研究,我发现一个字符串使用设备的堆来创建对象,我应该使用json解析器来读取块中的json,但是我不能这样做,因为我最终必须发布整个json为字符串。任何有关如何实现这一目标的想法/帮助都将非常感激。

0 个答案:

没有答案