Drawable Vorteil gegenüber bitmap-Speicher in android
Diese Frage ist verknüpft mit den Antworten in der folgenden Frage:
Fehler entfernen Bitmaps[Android]
Ist dort jeder möglicher Vorteil der Verwendung von Drawable über Bitmap in Android in Bezug auf Speicher de-Allokation ?
Ich war auf der Suche an Romain Guy-Projekt Regalen, und er verwendet SoftReference für Bilder, die caches, aber ich bin nicht in der Lage zu suchen, wo der code ist, den die de-die Zuweisung dieser Drawables, wenn SoftReference automatisch reaktiviert den Speicher für die Bitmap. So weit ich weiß .recycle() explizit aufgerufen, auf die Bitmap, um es de-zugeordnet.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In meinem Verständnis, die Bitmaps sind in der Regel besser für die Leistung wenn Sie nicht viel zu tun Bildbearbeitung. Jedoch, ich habe laufen in den Speicher Lecks, wenn ich nicht manuell recyceln Sie. Meine Lösung war, um schreiben Sie eine Klasse helfen mir die Verwaltung meiner Bilder, die bietet eine einfache Möglichkeit zum recyceln alle meine bitmaps, die an bestimmten Punkten in meiner Anwendung. Es bietet auch eine einfache Möglichkeit zur Wiederverwendung von bereits geladenen Ressourcen (einschließlich Drawables).
Brauchen Sie nicht zu rufen Sie Bitmap.reycle(). Dies wird für Sie in Ihrer persönlichen Daten. Tut es in der finalizer bedeutet die Vergabe verzögert sich bis Finalizer ausgeführt werden, so dass, wenn möglich direkt den Aufruf von recycle() kann helfen, mit memory-management.
Acc. zu auf dieser Seite, ab API Level 11, die Bitmap-pixel-Daten werden in der Dalvik-Heap-zusammen mit den zugehörigen Bitmap. Daher aufrufen .Recycling ist eigentlich nicht erforderlich, es sei denn, Sie wollen wieder den Speicher manuell für die weitere Verwendung. Werden Sie sicher, dass de-Referenz die bitmap auch nur als zusätzliche Maßnahme.
PS: Das war der link, der erklärt, hackbod's Antwort.