Я только недавно начал разрабатывать приложения для Android и проблемы с памятью. Используя функцию отслеживания распределения в студии Android, я понял, что четыре кнопки ImageButtons, которые отображаются в нескольких действиях, скорее всего, вызовут проблему. Результат отслеживания распределения показывает, что почти вся память используется двумя способами в отношении изображений. См: Allocation Tracking resultИдентичные ImageButtons потребляют огромный объем памяти
В для вводимого коэффициента кнопок маленькие иконки с примерно 20 КБ размера и расположены в растяжимой-nodpi. Таким образом, Android не должен ничего делать, чтобы масштабировать их. Запуск приложения и просто переход между двумя действиями, показывающими эти четыре ImageButtons несколько раз, достаточно для запуска OOM. Деятельность начинаются обычно с определенным launchMode по:
startActivity(new Intent(this, MyActivity.class));
Не Android должен Destory деятельности в настоящее время не используется для того, чтобы освободить память. Вместо этого я получаю график использования памяти следующим образом: Memory Usage
Каковы эффективные методы снижения ресурсов, необходимых для повторяющихся ImageButtons? Есть ли способ для меня явно удалить их, например, onDestory()?
Изображения значков, используемые с ImageButtons, находятся около 600x600 и отображаются рядом друг с другом в нижней части экрана, см.: Http://i.imgur.com/VE0hEzX.png Поскольку рециркуляция обрабатывается сам ImageButton, это просто проблема, исходящая из чертежей, находящихся в неправильном каталоге? – user6334495
Я на самом деле предполагаю, что происходит что-то еще. Использование памяти для одной кнопки нелепо. Честно говоря, поскольку это не векторные изображения (или большие фоновые изображения), я бы поместил их в mdpi и позволил андроиду масштабировать их для плотности. Это будет выглядеть лучше. –