Огромный байт [] в моем приложении после HPROF
Время от времени, особенно при реализации новых функций в моем приложении, я использую DDMS + HPROF для анализа использования памяти и кучи. Поскольку у приложения, похоже, нет проблем с производительностью и ANR, и все работает гладко, поначалу меня это не волновало, но теперь, когда я вижу, что он примерно всегда одинакового размера, мне интересно, какого черта это может быть.
Каждый раз, когда я запускаю HPROF, я проверяюУтечка подозреваемых Вкладка. Всегда естьandroid.graphics.Bitmap
экземпляр, который занимает примерно 25% всей использованной кучи.
Я хотел узнать немного больше, что это такое, поэтому я открылдерево доминатори увидел это:
Так по сути, есть огромныйbyte[]
экземпляр, который сохраняет много кучи, иникогда получает освобождение. Согласно сэтоЯ скопировал значение этогоbyte[]
, бросил его в.data
файл, открытый с помощью Gimp, и вот результат:
Так что в основном это выглядит как"Альфа (0)" часть изображения PNG. Принимая во внимание следующие факты:
Все мои файлы изображений <8K в размереПросто некоторые из них являются PNG - остальные я смог преобразовать в JPG, я сделалНе имеет значения, если я добавлю дополнительные изображения, размер этогоbyte[]
всегда был примерно одинаковым с самого начала приложения (4 месяца назад)Чтобы отладить его, я попытался удалитьЛюбые файл изображения изdrawable
а такжеdrawable-xxx
папки и запустить приложение без каких-либоbyte[]
был еще тамЯ удалил почти все макеты и оставил только базовую функциональность и тот же результатвДоминаторное деревокорневой классandroid.graphics.Bitmap
Кто-нибудь знает, что это такоеbyte[]
и если я должен сделать что-нибудь, чтобы освободить это?
Любая помощь приветствуется!