Подтвердить что ты не робот

Не занимайтесь деятельностью - для чего?

Название довольно понятно. Я понимаю, что делает этот вариант разработчика.

То, что я не понимаю, следующее:

  • Почему этот параметр был введен, в первую очередь?
  • После всех изменений, которые были созданы в течение многих лет, все еще полезно?

Я хочу узнать причины этой опции.

4b9b3361

Ответ 1

Я считаю, что это функция, используемая для отладки.

Из Титановый документ:

Не выполнять действия в меню "Параметры разработчика". Когда это опция включена, ОС Android уничтожит действие, как только он остановлен. Он призван помочь разработчикам отладить свои приложения. Для Например, он может имитировать случай, когда Android убьет действие в фоновом режиме из-за давления памяти. При нормальном использовании это не рекомендуется включить этот параметр, поскольку это может привести к неожиданным проблемы в приложениях, такие как зависания, принудительное закрытие и перезагрузка.

Похоже, в основном это помогает тестировать детерминистически, как работает ваше приложение, когда ОС отключает его по какой-либо причине (вне памяти и т.д.).

Итак, это ответило на пункт 1. Пункт 2: Да, я думаю:)

EDIT: дальнейшие ссылки

Ответ 2

Фреймворк Android может уничтожать вашу активность в любое время в фоновом режиме или в фоновом режиме, и вы должны писать свои действия, чтобы они правильно работали, когда это происходит. То, что это влечет за собой, зависит от того, что делает деятельность, но обычно включает в себя реализацию onSaveInstanceState(...) и восстановление любого предыдущего состояния в onCreate(...).

Параметр разработчика "Не сохранять действия" просто изменяет поведение структуры, поэтому он всегда будет уничтожать вашу деятельность, когда она будет направлена ​​в фоновый режим или назад. Это позволяет вам проверить, как ваша деятельность реагирует на то, что обычно является редким явлением.

Ссылка, приведенная в другом ответе, гласит:

При нормальном использовании не рекомендуется включать эту функцию, так как это может привести к неожиданным проблемам приложений, таким как зависания, принудительное закрытие и перезагрузка.

Это неверно. Если ваши действия написаны правильно, единственным эффектом включения "не продолжать деятельность" должно быть (возможно) немного более высокое потребление батареи и процессора от постоянной экономии и восстановления постоянного состояния. Любые приложения, которые демонстрируют "неожиданные проблемы" или принудительно закрываются, когда эта опция включена, должны быть исправлены. Как разработчик, я обычно оставляю "не занимаюсь деятельностью" все время. Я видел много багги-приложений, даже некоторых из Google. Но это никогда не приводило к перезагрузке, и я не думаю, что это возможно.