Что будет с анимацией, если пользователь свернет Activity

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

Ответ

Анимация будет остановлена, так как onStop() Activity вызывает onDetachedFromWindow() у View, что приводит к отмене анимации. Для корректной работы после возврата нужно перезапускать анимацию в onResume().

Пример с ObjectAnimator:

private var animator: ObjectAnimator? = null

override fun onResume() {
    super.onResume()
    animator = ObjectAnimator.ofFloat(view, "alpha", 0f, 1f).apply {
        duration = 1000
        start()
    }
}

override fun onPause() {
    animator?.cancel()
    super.onPause()
}

Альтернатива - использовать ViewPropertyAnimator с withEndAction() для автоматического возобновления.