0

Je suis nouveau sur Android. J'ai publié ma première application. J'ai testé mon application sur plusieurs appareils. Cela fonctionne correctement. Et je l'ai publié. 40 fois téléchargé et j'ai eu 3 rapports d'accident. Je ne pouvais pas comprendre où je me trompe? Et comment les réparer? Ou devrais-je réparer? Les rapports d'erreur signifient-ils que le programme a cessé de fonctionner? Merci d'avance.Play Console Crash Reports (OutOfMemory)

Mes rapports:

LGE V20 (elsa), 4096MB RAM, Android 7.0 
Report 1 of 1 
java.lang.OutOfMemoryError: 
    at dalvik.system.VMRuntime.newNonMovableArray (Native Method) 
    at android.graphics.BitmapFactory.nativeDecodeAsset (Native Method) 
    at android.graphics.BitmapFactory.decodeStream (BitmapFactory.java:620) 
    at android.graphics.BitmapFactory.decodeResourceStream (BitmapFactory.java:455) 
    at android.graphics.drawable.Drawable.createFromResourceStream (Drawable.java:1152) 
    at android.content.res.ResourcesImpl.loadDrawableForCookie (ResourcesImpl.java:855) 
    at android.content.res.ResourcesImpl.loadDrawable (ResourcesImpl.java:706) 
    at android.content.res.Resources.getDrawable (Resources.java:776) 
    at android.content.Context.getDrawable (Context.java:525) 
    at android.widget.ImageView.resolveUri (ImageView.java:840) 
    at android.widget.ImageView.setImageResource (ImageView.java:439) 
    at com.taishi.flipprogressdialog.FlipProgressDialog$1.run (FlipProgressDialog.java:181) 
    at android.os.Handler.handleCallback (Handler.java:751) 
    at android.os.Handler.dispatchMessage (Handler.java:95) 
    at android.os.Looper.loop (Looper.java:154) 
    at android.app.ActivityThread.main (ActivityThread.java:6247) 
    at java.lang.reflect.Method.invoke (Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:872) 
    at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:762) 

Umx(Ultimate Mobile Experience) U673C (U673C), 1024MB RAM, Android 6.0 
Report 1 of 1 
java.lang.IllegalStateException: 
    at android.app.FragmentManagerImpl.checkStateLoss (FragmentManager.java:1411) 
    at android.app.FragmentManagerImpl.enqueueAction (FragmentManager.java:1429) 
    at android.app.BackStackRecord.commitInternal (BackStackRecord.java:687) 
    at android.app.BackStackRecord.commit (BackStackRecord.java:663) 
    at android.app.DialogFragment.dismissInternal (DialogFragment.java:301) 
    at android.app.DialogFragment.dismiss (DialogFragment.java:267) 
    at com.example.genesis.policeradiostream.TopFeedsFragment$Listeleme.onPostExecute (TopFeedsFragment.java:172) 
    at com.example.genesis.policeradiostream.TopFeedsFragment$Listeleme.onPostExecute (TopFeedsFragment.java:95) 
    at android.os.AsyncTask.finish (AsyncTask.java:651) 
    at android.os.AsyncTask.access$500 (AsyncTask.java:180) 
    at android.os.AsyncTask$InternalHandler.handleMessage (AsyncTask.java:668) 
    at android.os.Handler.dispatchMessage (Handler.java:102) 
    at android.os.Looper.loop (Looper.java:148) 
    at android.app.ActivityThread.main (ActivityThread.java:5417) 
    at java.lang.reflect.Method.invoke (Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:726) 
    at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) 

Samsung Galaxy S5 (klteusc), 2048MB RAM, Android 6.0 
Report 1 of 1 
java.lang.OutOfMemoryError: 
    at com.google.android.exoplayer2.extractor.DefaultTrackOutput$InfoQueue.commitSample (DefaultTrackOutput.java:920) 
    at com.google.android.exoplayer2.extractor.DefaultTrackOutput.sampleMetadata (DefaultTrackOutput.java:536) 
    at com.google.android.exoplayer2.extractor.mp3.Mp3Extractor.readSample (Mp3Extractor.java:226) 
    at com.google.android.exoplayer2.extractor.mp3.Mp3Extractor.read (Mp3Extractor.java:189) 
    at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractingLoadable.load (ExtractorMediaPeriod.java:652) 
    at com.google.android.exoplayer2.upstream.Loader$LoadTask.run (Loader.java:295) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1113) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:588) 
    at java.lang.Thread.run (Thread.java:818) 

Répondre

0

Erreur 1 et 3 sont essentiellement le système Android indiquant votre programme que la quantité de mémoire de votre programme demandé bitmap ou une fichier vidéo ne peut pas être alloué. Habituellement, cela se produit lorsque vous essayez de charger un gros fichier dans la mémoire. Il existe de nombreuses façons d'éviter que cela ne se produise par exemple: en veillant à ne charger que l'image dans une résolution qui va être affichée. Il est inutile de charger une image 1920px * 1080px dans une vue 100px * 100px.

Considérant que 2 se produit lorsque vous accédez à un élément d'activité ou de fragment après qu'il a été détruit. Assurez-vous de ne rien accéder à l'activité ou au fragment de la méthode onPostExecute de asynctask. De toute façon, vous devez annuler votre asynctask lorsque l'activité ou le fragment est détruit.