Что такое куча

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

Ответ

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

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

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

Пример:

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

Нюансы:

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