我正在使用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)
请让我知道如何解决这个问题。
提前致谢
答案 0 :(得分:0)
我认为你应该使用encodeToString而不是encodeBytes()。