Утечка памяти и Bitmap

Рейтинг: 1Ответов: 1Опубликовано: 17.12.2014

Пишу сравнительно небольшое приложение. При его запуске размер heap 10 MB, allocated - 7-8 MB, но по мере работы с программой цифры набегают до 50-60 MB. При запуске memory analizator появляется сообщение

One instance of "android.graphics.Bitmap" loaded by "" occupies 2,536,984 (21.22%) bytes. The memory is accumulated in one instance of "byte[]" loaded by "".

instanceof Bitmap набегает до двухсот штук. Кто-нибудь знает, как это можно оптимизировать?

Ответы

▲ 2

Проблема известная. При создании битмапа из файла надо создавать с помощью BitmapFactory. Попробуйте задать BitmapFactory.Options.inPurgeable=true - мне помогало. При задании этого флага битмап будет выгружаться из памяти.

Правда, в KitKat и LolliPop этот флаг объявлен deprecated, но там и машина типа другая, так что проблема должна быть решена.