2012-02-01 2 views
2

Мое приложение использует некоторые растровые изображения с SurfaceView. Для растровых изображений, что часто вспоминал я хранил их в качестве полей класса, то есть, когда мое расширение экземпляра SurfaceView создается у меня естьРастровые изображения и Android Heap

bitmap_puppyicon = BitmapFactory.decodeResource(getResources(),R.drawable.puppy); 

Где bitmap_puppyicon является переменная класса моей расширенной SurfaceView. Который означает, я думаю, это на куче.

Для растровых изображений, которые используются один или два раза, я создал их на лету в методе onDraw().

Я проверил кучу в DDMS и почувствовал, что могу позволить себе хранить больше растровых изображений в качестве переменных класса вместо их создания в onDraw().

К моему удивлению, размер кучи снизился на несколько процентных пунктов после этого. Я что-то неправильно понял? Почему куча становится меньше при сохранении большего количества растровых изображений?

ответ

0

Он использует skia под капотом, а куча - это не место, где живут растровые изображения. В куче у вас есть ссылки только на растровые изображения