Мое приложение использует некоторые растровые изображения с SurfaceView. Для растровых изображений, что часто вспоминал я хранил их в качестве полей класса, то есть, когда мое расширение экземпляра SurfaceView создается у меня естьРастровые изображения и Android Heap
bitmap_puppyicon = BitmapFactory.decodeResource(getResources(),R.drawable.puppy);
Где bitmap_puppyicon является переменная класса моей расширенной SurfaceView. Который означает, я думаю, это на куче.
Для растровых изображений, которые используются один или два раза, я создал их на лету в методе onDraw().
Я проверил кучу в DDMS и почувствовал, что могу позволить себе хранить больше растровых изображений в качестве переменных класса вместо их создания в onDraw().
К моему удивлению, размер кучи снизился на несколько процентных пунктов после этого. Я что-то неправильно понял? Почему куча становится меньше при сохранении большего количества растровых изображений?