React-native: Exception fatale : java.lang.OutOfMemoryError

Créé le 4 avr. 2016  ·  3Commentaires  ·  Source: facebook/react-native

Mon application Android utilise React Native 0.22.0, développé sur Mac. Tout va bien sur le développement. Après la sortie d'aujourd'hui, j'ai reçu des rapports de plantage de Crashlytics.

Le rapport est

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)

Environ 50 % des utilisateurs sont confrontés à ce problème. Vraiment besoin d'être réparé.
screen shot 2016-04-05 at 3 55 46 am
screen shot 2016-04-05 at 3 56 04 am

Locked

Commentaire le plus utile

android/app/src/main/AndroidManifest.xml

<application
  android:largeHeap="true"

L'ajout de largeHeap semble résoudre le problème

Tous les 3 commentaires

L'appareil manque de mémoire, dans le premier cas, il essaie d'allouer 22 Mo pour un bitmap où il n'y a que 12 Mo disponibles. Savez-vous combien de mémoire votre application allouait jusqu'à ce plantage ? car il peut s'agir d'un problème de fuite de mémoire

Je n'ai rien remarqué d'alarmant dans les applications que j'ai récemment déployées sur Android sur le Play Store. Pourriez-vous fournir plus de contexte ici? Je crois que c'est un sujet de profilage approprié afin que nous puissions avoir une idée de ce qui se passe ici.

android/app/src/main/AndroidManifest.xml

<application
  android:largeHeap="true"

L'ajout de largeHeap semble résoudre le problème

Cette page vous a été utile?
0 / 5 - 0 notes