Ответ
Garbage Collector (GC) в Android вызывается автоматически, когда система обнаруживает нехватку памяти или когда объекты больше не имеют активных ссылок. Основные триггеры:
- Недостаток памяти – система пытается освободить место перед OutOfMemoryError.
- Сборка мусора по поколениям – чаще чистит молодые объекты (minor GC), реже – старые (major GC).
- Явный вызов
System.gc()– но это лишь рекомендация, не гарантия.
Пример утечки (избегай!):
class LeakyActivity : Activity() {
private val staticList = mutableListOf<Any>()
override fun onCreate() {
super.onCreate()
staticList.add(this) // Активность не соберется, пока жива staticList!
}
}