在使用Redis发布消息时发生OutOfMemory异常

8 浏览
0 Comments

在使用Redis发布消息时发生OutOfMemory异常

我想要将一个包含Base64编码音频文件的JSON消息发布到Redis服务器。这个JSON消息包含一个大约2.5MB大小的原始文件(根据音频文件的时长可能会有所变化)。我想要使用安卓应用程序将这个编码后的音频文件作为JSON消息发布到Redis。以下是我使用的代码片段:\n

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

\n我使用安卓应用程序创建一个JSON对象,并提取其中的数据部分(包含编码后的音频文件),然后将其发布到一个频道中。这段代码对于较小的文件工作正常,但是当文件大小超过2MB时,会抛出内存溢出异常。以下是我得到的错误日志:\n\"enter\n经过大量研究,我发现字符串使用设备的堆来创建对象,我应该使用json解析器以块的方式读取json,但是我不能这样做,因为最终我必须将整个json作为字符串发布。对于如何完成这个任务的任何想法/帮助将不胜感激。

0