Вот мое понимание руководящих принципов.
Во-первых, для 1, давайте немного отделим его. Все прерывания не равны.
- Затенение - это когда вы получаете телефонный звонок, и ваше приложение все еще работает, но не весь экран виден. Для игр рекомендуется, чтобы игра автоматически делала паузу. Для приложений это зависит от вас. Просто делайте то, что кажется правильным для состояния вашего приложения в данный момент.
- Блокировка экрана
- Если вы не запускаете под экраном блокировки, то это в основном то же самое, что и деактивация (см. Ниже)
- Если вы запускаете под экраном блокировки, вы должны остановить все анимации и обновление экрана. Я верю, что это поможет сохранить батарею.
- Когда вы сказали «прервано другим приложением», вы имели в виду тост? Я не думаю, что ты заслоняешься от тоста. Приложения не могут прерывать друг друга AFAIK.
Для 2, когда вы деактивированы, вы не знаете, будете ли вы быстро переключаться между приложениями, захоронены или прекращены.
- В случае быстрого переключения приложений ваша анимация должна продолжаться нормально, когда вы активированы, и я не знаю причин, чтобы приостановить анимацию вручную.
- Если вы будете захоронены или в конечном итоге прерваны, ваша анимация все равно будет остановлена. В этом случае нет смысла останавливать их вручную.