OutOfMemory et Bitmaps sous Android

Les applications Android sont démarrées en mode Sandbox, c’est à dire qu’elles tournent sur une machine virtuelle Dalvik isolée et gérant sa propre mémoire. A côté de ces VM, il y a la mémoire native, utilisée par l’OS lui même.

Si vous avez des problèmes de OutOfMemory, le premier réflexe est d’analyser le « Heap Dump » avec DDMS, puis de façon plus précise avec l’outil Mat, en suivant cet exellent tutorial:

http://android-developers.blogspot.com/2011/03/memory-analysis-for-android.html

 

Les Bitmaps ne sont pas visibles dans MAT

Pour utiliser cet outil, il faut néanmoins savoir une chose: les Bitmaps sont stockées dans l’espace natif, et non dans la mémoire allouée à la VM! Vous ne pourrez donc pas analyser les Bitmaps avec MAT.

Toutefois depuis l’OS 3.0, les Bitmaps dans visibles dans MAT, même si elles restent enregistrées dans la mémoire native.

You may also like...

Laisser un commentaire