内存不足转换视频文件时出现异常

时间:2011-09-29 23:35:33

标签: android out-of-memory

我正在使用Base64编码将视频文件转换为字符串。

try {
    encodedString =Base64.encodeBytes((getBytesFromFile(new File(Description.PATH))),Base64.GZIP);

} catch (IOException e) {
    e.printStackTrace();
}

当我转换60秒的视频时,我的内存异常就出现了......

09-30 04:52:52.322: ERROR/AndroidRuntime(29995): Caused by: java.lang.OutOfMemoryError
09-30 04:52:52.322: ERROR/AndroidRuntime(29995):     at java.nio.CharArrayBuffer.<init>(CharArrayBuffer.java:43)
09-30 04:52:52.322: ERROR/AndroidRuntime(29995):     at java.nio.ReadWriteCharArrayBuffer.<init>(ReadWriteCharArrayBuffer.java:47)
09-30 04:52:52.322: ERROR/AndroidRuntime(29995):     at java.nio.BufferFactory.newCharBuffer(BufferFactory.java:82)
09-30 04:52:52.322: ERROR/AndroidRuntime(29995):     at java.nio.CharBuffer.allocate(CharBuffer.java:53)
09-30 04:52:52.322: ERROR/AndroidRuntime(29995):     at java.nio.charset.CharsetDecoder.decode(CharsetDecoder.java:214)
09-30 04:52:52.322: ERROR/AndroidRuntime(29995):     at java.nio.charset.Charset.decode(Charset.java:730)

请让我知道如何解决这个问题。

提前致谢

1 个答案:

答案 0 :(得分:0)

我认为你应该使用encodeToString而不是encodeBytes()。