Ответ
Использование WeakReference для хранения ссылок на объекты, которые могут быть собраны GC. Оптимизация коллекций (например, SparseArray вместо HashMap для примитивов). Освобождение ресурсов в onDestroy()/onStop().
Пример с WeakReference:
WeakReference<Activity> activityRef = new WeakReference<>(activity);
// Использование
Activity activity = activityRef.get();
if (activity != null) {
activity.doSomething();
}
Другие практики:
- Избегание утечек контекста (не хранить
Contextв статике) - Очистка
Bitmapчерезrecycle() - Использование
Profilerдля анализа памяти - Оптимизация списков с
RecyclerViewи пуллингом