У меня проблема с Android FireBase. У меня есть коллекция изображений в кодировке base64, около 200 МБ. Я загрузил изображения с помощью одного устройства и могу видеть их на веб-сайте. Теперь с другого устройства я пытаюсь получить их, используя f.addValueEventListener(handler)
. В моем обработчике есть прослушиватель onDataChange
, и ошибка возникает через минуту после ожидания возврата данных. Он никогда не возвращается, и я получаю эту ошибку:
02-01 17:32:04.638 24146-24220/thor.bluefinllc.com.bluefinsurveyroof E/AndroidRuntime: FATAL EXCEPTION: TubeSockReader-3
Process: thor.bluefinllc.com.bluefinsurveyroof, PID: 24146
java.lang.OutOfMemoryError: Failed to allocate a 21856 byte allocation with 1888 free bytes and 1888B until OOM
at java.nio.CharBuffer.put(CharBuffer.java:501)
at java.nio.charset.CharsetDecoder.allocateMore(CharsetDecoder.java:228)
at java.nio.charset.CharsetDecoder.decode(CharsetDecoder.java:188)
at com.firebase.tubesock.MessageBuilderFactory$TextBuilder.decodeString(MessageBuilderFactory.java:109)
at com.firebase.tubesock.MessageBuilderFactory$TextBuilder.appendBytes(MessageBuilderFactory.java:86)
at com.firebase.tubesock.WebSocketReceiver.appendBytes(WebSocketReceiver.java:104)
at com.firebase.tubesock.WebSocketReceiver.run(WebSocketReceiver.java:69)
at com.firebase.tubesock.WebSocket.runReader(WebSocket.java:372)
at com.firebase.tubesock.WebSocket.access$000(WebSocket.java:30)
at com.firebase.tubesock.WebSocket$2.run(WebSocket.java:108)