React-native: 致命异常:java.lang.OutOfMemoryError

创建于 2016-04-04  ·  3评论  ·  资料来源: facebook/react-native

我的 Android 应用使用的是在 Mac 上开发的 React Native 0.22.0。 一切都在发展中。 今天发布后,我收到了来自 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

Locked

最有用的评论

android/app/src/main/AndroidManifest.xml

<application
  android:largeHeap="true"

添加 largeHeap 似乎可以解决问题

所有3条评论

设备内存不足,在第一种情况下,它试图为只有 12mb 可用的位图分配 22mb。 你知道你的应用程序在崩溃之前分配了多少内存吗? 因为这可能是内存泄漏问题

我最近在 Android 上部署到 Play 商店的应用程序中没有发现任何令人担忧的地方。 你能在这里提供更多背景吗? 我相信这是一个需要适当分析的主题,以便我们可以了解这里发生了什么。

android/app/src/main/AndroidManifest.xml

<application
  android:largeHeap="true"

添加 largeHeap 似乎可以解决问题

此页面是否有帮助?
0 / 5 - 0 等级