Растровые изображения и куча Android - PullRequest
2 голосов
/ 01 февраля 2012

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

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

, где bitmap_puppyicon - это переменная класса моего расширенного SurfaceView.Что, я думаю, означает, что это в куче.

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

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

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

1 Ответ

0 голосов
/ 01 февраля 2012

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

...