Decrease memory usage of your Android app in half
История разработчиков, которые столкнулись с необходимостью уменьшим расход RAM c 150 Мб до 70. Автор статьи делиться советами:
👉 Включение LeakCanary и проверить утечки памяти
👉 Изменение режима кодировки для Glide по умолчанию на
RGB_565. Стандартный режим ARGB_8888👉 Используйте
Application.onTrimMemory(), чтобы расчищать память при ее нехватке👉 Отменяйте загрузки, когда скрываются элементы в
RecyclerView👉 Проблема с повторным обновлением данных в
Room, исправляется банальной проверкой на уникальность данных👉 Утечки
Fragment из-за хранения ссылки на ViewBinding. Не забывайте чистить ссылки, связанные с UI, и отменять подписки/слушатели в Fragment.onDestroyView()👉 Не увлекайтесь Singleton в Dagger и object в Kotlin. Оцените насколько нужно вам постоянное хранение объекта в памяти. Обычно это нужно только для объектов, у которых нужно глобальное состояние.
Важно: Чистка памяти и создание объекта в Android -дешевые операции