Зацикливание изображений — размер растрового изображения превышает бюджет виртуальной машины

У меня есть Activity с одним ImageView, но он много раз меняет ресурс, циклически перебирая несколько разных изображений с высоким разрешением.

У меня возникли проблемы с ошибкой «Размер растрового изображения превышает бюджет виртуальной машины». Я видел сообщения здесь о ручной очистке в методе onDestroy, но действие не всегда заходит так далеко.

Что я могу сделать, чтобы просмотреть множество больших изображений без нехватки памяти?


person user605331    schedule 26.07.2012    source источник


Ответы (1)


Я предлагаю переработать растровое изображение imageView в методе onPause(), а в onResume() снова загрузить изображение.

person Yashwanth Kumar    schedule 26.07.2012
comment
Это помогло. Чтение вокруг этого звучит так, как будто вручную вызывать recycle() на BitMap не требуется, но убедитесь, что вызов действительно работает. В моем случае я вызываю его каждый раз, когда меняю изображения, а не в onPause/onResume, но это всего лишь деталь потока моей активности. - person user605331; 26.07.2012