Почему размер кучи продолжает увеличиваться?

У меня есть приложение, в котором много волновых эффектов и анимации.

Я пробовал перемещаться вперед и назад по нескольким экранам, а также спамить кнопки.

Я заметил, что размер кучи постоянно увеличивается, хотя некоторые экраны уже закрыты.

Когда я проверил дамп кучи, класс с самой высокой сохраненной кучей был классом android.graphics.Bitmap и указывает на все кнопки, которые я нажимал, которые имеют эффект пульсации.

Эффекты ряби на кнопках — это просто рябь, для фона которой используется ?attr/selectableItemBackgroundBorderless. Но поднимается на 0.3мб или 0.5мб при каждом нажатии кнопок с рябью.


person John Ernest Guadalupe    schedule 10.09.2015    source источник


Ответы (1)


Может быть какая-то утечка памяти. Почти невозможно сказать, в чем проблема, не анализируя код. Я рекомендую несколько тестов.

Вы можете попробовать библиотеку Leak Canary. Библиотека может «смотреть» определенные объекты и сужать поиск утечки.

person Tin Megali    schedule 10.09.2015