GMoN
Dauergast
- 394
Ich schreibe sehr viele Daten in eine Arraylist. Das kann bei sehr vielen Daten zu Heap Speicher Problemen führen. Jetzt wollte ich mal schauen, wieviel speicher denn meine app nun wirklich bei wievielen Daten belegt. Ich bekomme aber leider keine brauchbaren Anzeigen. Im DDMS steht immer Heap size 3,4 MB und Allocated 2,4 MB, egal ob 0 Datensätze oder 100.000 geladen sind.
Liefern auch immer bei size und Allocated ca. 7MB. Auch ändert sich gar nichts, wenn ich im Programm nach dem Laden der Daten die Arraylist mit .clear() lösche und null setze.
Auch habe ich festgestellt, dass das Milestone 24MB max. Heap size hat und das N1, obwohl sogar etwas mehr Speicher nur 16MB hat, beide mit original ROM, das N1 natürlich mit Froyo.
Wie kann ich jetzt möglichst genau den Speicherverbrauch meiner Activity und des services monitoren? Am besten mit Speichergrößen Anzeige jeder Arraylist. Geht sowas?
Code:
Log.v(TAG, "Service Heap size: "+android.os.Debug.getNativeHeapSize()/1024);
Log.v(TAG, "Service Heap free: "+android.os.Debug.getNativeHeapFreeSize()/1024);
Log.v(TAG, "Service Heap alloc: "+android.os.Debug.getNativeHeapAllocatedSize()/1024);
Liefern auch immer bei size und Allocated ca. 7MB. Auch ändert sich gar nichts, wenn ich im Programm nach dem Laden der Daten die Arraylist mit .clear() lösche und null setze.
Auch habe ich festgestellt, dass das Milestone 24MB max. Heap size hat und das N1, obwohl sogar etwas mehr Speicher nur 16MB hat, beide mit original ROM, das N1 natürlich mit Froyo.
Wie kann ich jetzt möglichst genau den Speicherverbrauch meiner Activity und des services monitoren? Am besten mit Speichergrößen Anzeige jeder Arraylist. Geht sowas?