React-native: Фатальное исключение: java.lang.OutOfMemoryError

Созданный на 4 апр. 2016  ·  3Комментарии  ·  Источник: facebook/react-native

В моем приложении для Android используется React Native 0.22.0, разработанный для Mac. С развитием все в порядке. После сегодняшнего выпуска я получил отчеты о сбоях от Crashlytics.

Отчет

Fatal Exception: java.lang.OutOfMemoryError: Failed to allocate a 23103292 byte allocation with 13011316 free bytes and 12MB until OOM
       at dalvik.system.VMRuntime.newNonMovableArray(VMRuntime.java)
       at android.graphics.Bitmap.nativeCreate(Bitmap.java)
       at android.graphics.Bitmap.createBitmap(Bitmap.java:942)
       at android.graphics.Bitmap.createBitmap(Bitmap.java:913)
       at android.graphics.Bitmap.createBitmap(Bitmap.java:880)
       at com.facebook.imagepipeline.memory.BitmapPool.alloc(BitmapPool.java:55)
       at com.facebook.imagepipeline.memory.BitmapPool.alloc(BitmapPool.java:30)
       at com.facebook.imagepipeline.memory.BasePool.get(BasePool.java:259)
       at com.facebook.imagepipeline.platform.ArtDecoder.decodeStaticImageFromStream(ArtDecoder.java:137)
       at com.facebook.imagepipeline.platform.ArtDecoder.decodeFromEncodedImage(ArtDecoder.java:81)
       at com.facebook.imagepipeline.decoder.ImageDecoder.decodeStaticImage(ImageDecoder.java:127)
       at com.facebook.imagepipeline.decoder.ImageDecoder.decodeImage(ImageDecoder.java:94)
       at com.facebook.imagepipeline.producers.DecodeProducer$ProgressiveDecoder.doDecode(DecodeProducer.java:188)
       at com.facebook.imagepipeline.producers.DecodeProducer$ProgressiveDecoder.access$200(DecodeProducer.java:96)
       at com.facebook.imagepipeline.producers.DecodeProducer$ProgressiveDecoder$1.run(DecodeProducer.java:128)
       at com.facebook.imagepipeline.producers.JobScheduler.doJob(JobScheduler.java:207)
       at com.facebook.imagepipeline.producers.JobScheduler.access$000(JobScheduler.java:27)
       at com.facebook.imagepipeline.producers.JobScheduler$1.run(JobScheduler.java:78)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
       at com.facebook.imagepipeline.core.PriorityThreadFactory$1.run(PriorityThreadFactory.java:43)
       at java.lang.Thread.run(Thread.java:818)

Около 50% пользователей сталкиваются с этой проблемой. Действительно нужно исправить.
screen shot 2016-04-05 at 3 55 46 am
screen shot 2016-04-05 at 3 56 04 am

Самый полезный комментарий

android/app/src/main/AndroidManifest.xml

<application
  android:largeHeap="true"

Добавление largeHeap, кажется, исправляет это

Все 3 Комментарий

На устройстве заканчивается память, в первом случае оно пытается выделить 22мб под битмап, где доступно только 12мб. Знаете ли вы, сколько памяти выделяло ваше приложение до этого сбоя? потому что это может быть проблема с утечкой памяти

Я не заметил ничего тревожного в приложениях, которые я недавно развернул на Android в Play Store. Не могли бы вы предоставить больше информации здесь? Я считаю, что это предмет надлежащего профилирования, чтобы мы могли понять, что здесь происходит.

android/app/src/main/AndroidManifest.xml

<application
  android:largeHeap="true"

Добавление largeHeap, кажется, исправляет это

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

joncursi picture joncursi  ·  134Комментарии

abumostafa picture abumostafa  ·  263Комментарии

alinz picture alinz  ·  138Комментарии

cpojer picture cpojer  ·  196Комментарии

soutot picture soutot  ·  192Комментарии