Ich habe zufällig (nicht genügend Arbeitsspeicher) Abstürze in meiner App, so begann ich meinen Haufen zu analysieren. Ich habe bemerkt, dass, wenn ich von Aktivität A zu Aktivität B gehe, der Heap (aufgrund des langsamen Ladens vieler Bilder) von 27 MB auf 35 MB steigt. Wenn ich jedoch() die Aktivität B beendet habe, um zu Aktivität A zurückzukehren, bleibt die Größe des Heapspeichers auch bei GC-Operation gleich.Android App Speicher Heap wächst weiter
Die ärgerliche Sache ist, dass die Aktivität B noch einmal erhöht den Heap auf 42 MB erhöht. Ich kann das tun wie es Zeiten und der Haufen wird nur weiter zunehmen.
Dies ist die faulen Bilder Laden Bibliothek ich verwende:
LazyList https://github.com/thest1/LazyList
Dies sind Screenshots der Heap
vor: http://i.stack.imgur.com/7eTzm.png
nach: http://i.stack.imgur.com/txeC6.png
umgewandelt Heap-Dump-Datei ist auf Anfrage erhältlich
UPDATE
Aus meiner Debugging, so scheint es, das Problem aus der LazyList Bibliothek, aber ich bin noch nicht 100% sicher. Hier wird auf die Menschen auf der Bibliothek zu kommentieren:
https://github.com/thest1/LazyList/issues/20
Klingt so, als würden bei Ihrer Aktivität Daten verloren gehen. Haben Sie IPC-Mitgliedsvariablen oder irgendetwas anderes, das ohne Aktivität weiterlaufen kann? –
Keine IPCs Zum Fortfahren ohne Aktivität verwendet die Bibliothek, die ich verwende, mehrere Threads (die Auto ohne Aktivität ausgeführt werden). – AlAsiri
haben Sie dieses Problem zu lösen, dann bitte Feedback wird erwartet .. –