Любую ли Activity можно убить из памяти

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

Ответ

Да, любую Activity можно убить из памяти, так как она управляется системой Android. Система может уничтожить Activity при нехватке ресурсов, даже если она находится в стеке (например, в onStop() или onDestroy()).

Как убить явно:

finish()  // Завершает текущую Activity
// Или через Intent.FLAG_ACTIVITY_CLEAR_TASK и т.д.

Важно:

  • После уничтожения состояние Activity теряется, если не сохранено в onSaveInstanceState().
  • Нельзя убить только Activity, которая является корневой в процессе (но система может завершить весь процесс).
  • Явный вызов finish() не гарантирует мгновенное освобождение памяти — это лишь запрос на завершение.