Какие знаешь методы эффективного управления ресурсами

«Какие знаешь методы эффективного управления ресурсами» — вопрос из категории Управление памятью, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Использование RecyclerView вместо ListView для эффективного отображения списков.
Оптимизация памяти:

  • Кеширование данных (LruCache, DiskLruCache).
  • Использование WeakReference для избежания утечек.
  • Очистка ресурсов в onDestroy() или onStop().

Эффективное управление потоками:

  • Coroutines или RxJava для асинхронных операций.
  • Использование пулов потоков (ThreadPoolExecutor).

Пример:

val executor = Executors.newFixedThreadPool(4)  
executor.execute {  
    // Тяжелая операция  
    runOnUiThread { updateUI() }  
}  

Оптимизация изображений (Glide, Picasso с resize).
Закрытие Cursor, FileInputStream в finally.