Из любопытства я недавно проверил приложение Android для утечек памяти, используя анализатор памяти Eclipse.
Я столкнулся с странным растровым изображением размером 512 x 512 пикселей, используя около 1 мегабайта моей памяти кучи устройств.
Я проверил папку drawables и не смог найти растровое изображение такого размера (512 x 512).
Я начал поиск по Google и наткнулся на этот вопрос, где пользователь объясняет, как получить фактическое изображение за ссылкой "утечка памяти" в Memory Analyzer:
MAT (Eclipse Memory Analyzer) - как просматривать растровые изображения из дампа памяти
Я последовал за учебником, и с помощью GIMP я извлек следующее изображение:
Итак, мои вопросы:
- Что это?
- Что он делает в моей куче приложений?
- Как мне избавиться от него?
- Кто-нибудь еще имеет одно и то же растровое изображение в своей куче?
Примечания:
- В моей папке drawables нет растрового изображения, похожего на это
- Самый большой битмап, который использует мое приложение, - 140 x 140 пикселей.
- У меня такое ощущение, что этот Bitmap каким-то образом происходит из системы.
- Растровое изображение находится в куче сразу после запуска приложения - без участия пользователя
- Я отлаживаю на HTC One S, Android 4.1 Cyanogen Mod (Экран 540 x 960).
- Я не использую внешние библиотеки
Обновить:
С помощью предложения Selvin и моей личной вырубки, что это может быть системная проблема, я проверил два других моих приложения.
Оба приложения, которые я тестировал, также показали один и тот же битмап в анализаторе памяти с таким же количеством потребляемых байтов:
Кроме того, я смог узнать, что:
Источник Bitmap всегда связан с действием LAUNCHER приложения.
Так что с этим делать? Есть ли способ избавиться от него?
Поскольку я выполняю интенсивные операции с памятью в своем приложении, я хотел бы иметь как можно больше кучи.