React-native: استثناء فادح: java.lang.OutOfMemoryError

تم إنشاؤها على ٤ أبريل ٢٠١٦  ·  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

Locked

التعليق الأكثر فائدة

android/app/src/main/AndroidManifest.xml

<application
  android:largeHeap="true"

يبدو أن إضافة largeHeap يصلحها

ال 3 كومينتر

الجهاز ينفد من الذاكرة ، في الحالة الأولى يحاول تخصيص 22 ميغا بايت للصورة النقطية حيث لا يتوفر سوى 12 ميغا بايت. هل تعرف مقدار الذاكرة التي كان يخصصها تطبيقك حتى هذا التعطل؟ لأنها قد تكون مشكلة تسرب الذاكرة

لم ألاحظ أي شيء ينذر بالخطر في التطبيقات التي قمت بنشرها على Android في متجر Play مؤخرًا. هل يمكنك تقديم المزيد من المعلومات الأساسية هنا؟ أعتقد أن هذا موضوع للتنميط الصحيح حتى نتمكن من الحصول على فكرة عما يحدث هنا.

android/app/src/main/AndroidManifest.xml

<application
  android:largeHeap="true"

يبدو أن إضافة largeHeap يصلحها

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات