Существует так много вопросов с таким же типом этой ошибки, но я не могу найти решение для моей ошибки, я проверил на своих различных устройствах, но все еще не могу найти точно, где эта ошибка возникает. Мое приложение в настоящее время работает и установлено на 50 тыс. Активных устройств, я получил эту ошибку через свою базу данных, и это происходит очень много раз.
Exception java.lang.OutOfMemoryError: Failed to allocate a 65548 byte allocation with 55872 free bytes and 54KB until OOM
com.android.okhttp.okio.Segment.<init> (Segment.java:62)
com.android.okhttp.okio.SegmentPool.take (SegmentPool.java:46)
com.android.okhttp.okio.Buffer.writableSegment (Buffer.java:1114)
com.android.okhttp.okio.InflaterSource.read (InflaterSource.java:66)
com.android.okhttp.okio.GzipSource.read (GzipSource.java:80)
com.android.okhttp.okio.RealBufferedSource$1.read (RealBufferedSource.java:374)
bmr.a (:com.google.android.gms.DynamiteModulesC:95)
bmk.a (:com.google.android.gms.DynamiteModulesC:1055)
bmq.a (:com.google.android.gms.DynamiteModulesC:5055)
bmq.run (:com.google.android.gms.DynamiteModulesC:54)
java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1113)
java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:588)
java.lang.Thread.run (Thread.java:818)
2 ответа
Кажется, вы пытались загрузить файл с помощью «okhttp». Если это так, попробуйте использовать «Filepath» вместо «File» в качестве параметра.
Похоже, вы пытаетесь распаковать большой файл, файл настолько большой, что вся память устройства тратится. Доступная память отличается на каждом устройстве. Если возможно, попробуйте разбить файл на более мелкие куски и обрабатывать их индивидуально. В противном случае попробуйте использовать потоковое решение, где вы можете разархивировать с помощью потока вместо загрузки всего файла в память перед началом распаковки.
Попробуйте это: Распакуйте с помощью потока или прочитайте документацию здесь: GZUPInputStream
Похожие вопросы
Новые вопросы
java
Java - это язык программирования высокого уровня. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег редко используется отдельно и чаще всего используется вместе с [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] и [maven].