Ответ
Activity на главном экране (например, MainActivity) не уничтожается GC, потому что на неё есть сильные ссылки из системы Android.
Ключевые причины:
- Activity хранится в стеке задач (back stack)
- На неё ссылается WindowManager через DecorView
- Жизненный цикл управляется системой, а не GC
Пример:
class MainActivity : AppCompatActivity() {
// Активность удерживается системой пока видима
override fun onCreate() {
super.onCreate()
setContentView(R.layout.activity_main)
}
}
GC может собрать только Activity, на которую больше нет ссылок (например, после finish() и удаления из стека). Главная Activity всегда имеет активные ссылки, пока приложение запущено.