Wie finde ich heraus, wie viel freie Heap-Größe für Bitmap für Android 2 verfügbar ist? *?

8

Unsere Anwendung verwendet viele Bitmaps. Es funktioniert gut zum Beispiel auf G1, XOOM. Aber auf HTC Desire gibt es einen OutOfMemory Fehler. Im Code verwenden wir try / catch (OutOfMemoryError e) und alle Geräte (außer Desire) werfen eine Exception, aber HTC beendet die Anwendung einfach ohne OOM-Ausnahme. Wir haben den Speicher für Bitmaps auf 12 MB beschränkt und es schien, dass diese Lösung das Problem behebt, aber der Kunde hat immer noch Probleme mit dem HTC Desire HD. Es gibt OOM sogar mit 12 Mb Beschränkung. Hier sind die Protokolle:

%Vor%

AFAIK gibt es verschiedene Heap Größenbeschränkungen für Geräte (G1: 16 MB, Droid: 24 MB, Xoom 48 MB). Meiner Meinung nach sollte System mindestens 16 MB geben, aber wir haben OOM mit 12 MB. Meine Frage ist: Wie finde ich heraus, wie viele freie Heap-Größe für Bitmap für Android 2 verfügbar ist? *? Oder bitte beraten Sie, wie Sie dieses Problem auf andere Weise vermeiden können. Zu Ihrer Information, wir können nicht weniger Bitmaps verwenden, besonders wenn es auf anderen Geräten funktioniert. Vielen Dank im Voraus für jede Hilfe!

    
StanleyKh 07.06.2011, 19:52
quelle

2 Antworten

2

Sie können versuchen

%Vor%

oder die Methode der Aktivität

%Vor%

Außerdem können Sie Activities überschreiben

%Vor%

Methode, mit der Sie umgehen können, was passiert, wenn die Aktivität vom Speicherproblem benachrichtigt wird, bevor sie heruntergefahren wird. Und Sie sollten auch diese Antwort <überprüfen / a> von einem Android-Entwickler auf Android / Linux-Speicher.

    
ferostar 07.06.2011 20:00
quelle
0

Diese OutOfMemory-Ausnahme kommt von einem Speicherleck, nicht von der Datei selbst. Überschreiben Sie die Aktivitätslebenszyklusmethoden wie onStop, onResume, onDestroy?

    
bluewhile 22.06.2012 17:37
quelle