#android #out-of-memory
#Android #нехватка памяти
Вопрос:
Я конвертирую видеофайл в строку, используя кодировку 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. Каков размер вашего видеофайла?
2. Привет, Манан, размер видеофайла ~ 10 МБ.
Ответ №1:
Я думаю, вам следует использовать encodeToString вместо encodeBytes().