2016-03-22 10 views
2

Wenn ich meine App über Android Studio auf meinem Gerät installiere, ist alles in Ordnung, aber wenn ich die App schließe und versuche, sie erneut zu öffnen, stürzt die App ab. Ich habe auch versucht, ein neues Projekt mit demselben Projekt zu machen, aber jedes Mal bekomme ich das gleiche Problem. Ich verwende keinen komplizierten Code, weiß aber nicht, warum das passiert.Warum stürzt meine App ab, wenn ich sie zum zweiten Mal öffne?

Caused by: java.lang.OutOfMemoryError: Failed to allocate a 9223212 byte allocation with 5451732 free bytes and 5MB until OOM 
     at dalvik.system.VMRuntime.newNonMovableArray(Native Method) 
     at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 
     at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:741) 
     at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:562) 
     at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1014) 
     at android.content.res.Resources.loadDrawableForCookie(Resources.java:3702) 
     at android.content.res.Resources.loadDrawable(Resources.java:3575) 
     at android.content.res.TypedArray.getDrawable(TypedArray.java:750) 
     at com.blunderer.materialdesignlibrary.views.CardView.<init>(CardView.java:58) 
     at java.lang.reflect.Constructor.newInstance(Native Method) 
     at java.lang.reflect.Constructor.newInstance(Constructor.java:288) 
     at android.view.LayoutInflater.createView(LayoutInflater.java:614) 
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:750) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:813) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:821) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:511) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:415) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:366) 
     at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267) 
     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:130) 
     at it.quotidianiitaliani.MainActivity.onCreate(MainActivity.java:19) 
     at android.app.Activity.performCreate(Activity.java:6221) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2611) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2723) 
     at android.app.ActivityThread.access$900(ActivityThread.java:172) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1422) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:145) 
     at android.app.ActivityThread.main(ActivityThread.java:5832) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:372) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) 
+0

Speicherproblem. Versuchen Sie, den App-Speicher-Heap zu verwalten. –

+0

Sie fordern 8,8 M Arbeitsspeicher bei View.setContentView an. Überprüfen Sie zuerst die Größe der Ressourcenbilder. – sakiM

+0

Betreiben Sie den Emulator oder ein echtes Gerät? Es könnte eine Lösung sein, "usage largeHeap" im Manifest auf "true" zu setzen. Https://www.youtube.com/watch?v=myer005Gr38 –

Antwort

1

OutOfMemoryError ist das am häufigsten auftretende Problem bei Android, insbesondere mit Bitmaps. Dieser Fehler wird von der Java Virtual Machine (JVM) ausgelöst, wenn ein Objekt aufgrund fehlender Speicherkapazität nicht zugeordnet werden kann und außerdem der Speicherbereiniger keinen Speicherplatz freigeben kann.

Ich glaube, Sie einige auf Androids Entwickler Seite lesen sollte, speziell hier: http://developer.android.com/training/displaying-bitmaps/index.html

Verwandte Themen