Ответ
Выделенная память в куче (heap) — это динамически распределяемая область памяти, используемая для хранения объектов во время выполнения приложения. В отличие от стека, память в куче управляется вручную (например, через new в Java/Kotlin) или автоматически (сборщиком мусора, GC).
Особенности:
- Объекты в куче живут дольше, чем локальные переменные в стеке.
- Доступ к памяти медленнее, чем в стеке.
- GC автоматически освобождает неиспользуемые объекты, но может вызывать паузы.
Пример:
val user = User("Alex") // Объект User создается в куче
Нюансы:
- Утечки памяти, если ссылки на объекты не очищаются.
- Фрагментация кучи при частом создании/удалении объектов.
- В Android важно минимизировать выделение в куче (например, избегать лишних объектов в
onDraw()).