Что такое Heap

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

Ответ

Heap (куча) — это область динамической памяти, выделяемой во время выполнения приложения. В Android управляется ART/Dalvik VM.

Особенности:

  • Объекты создаются через new и живут, пока есть ссылки.
  • Сборщик мусора (GC) автоматически освобождает память от неиспользуемых объектов.
  • Общий для всех потоков.

Пример:

val list = ArrayList<String>() // Объект создается в куче
list.add("Heap example")  

Проблемы:

  • Утечки памяти (например, из-за статических ссылок).
  • Фрагментация кучи.

Для анализа используйте Memory Profiler в Android Studio.