Я разрабатываю приложение уже несколько месяцев и готовлюсь к выпуску. Я использовал Motorola Xoom с Android 4.0.4 для тестирования на протяжении всего процесса, и все работало без сбоев. Я купил Nexus 7 в Google (под управлением Jelly Bean 4.1 ), и теперь у меня возникают всевозможные проблемы с жизненным циклом активности, когда устройство спит или выключается.
Я создал новый проект с единственной целью проверки жизненного цикла, и вот результаты, к которым я пришел. Следующий код является примером того, что я сделал в каждом из методов жизненного цикла.
@Override
protected void onPause() {
Log.i("TEST", "onPause()");
super.onPause();
}
Результаты от Xoom (ожидаемые результаты)
---------- Program Launch -------------
onCreate(null)
onStart()
onResume()
---------- Turn Off Screen ------------
onPause()
onSaveInstanceState(not null)
onStop()
---------- Turn Screen On -------------
onReStart()
onRestoreInstanceState(not null)
onResume()
Результаты от Nexus 7 (неожиданные результаты)
---------- Program Launch -------------
onCreate(null)
onStart()
onResume()
---------- Turn Off Screen ------------
onPause()
onSaveInstanceState(not null)
onStop()
onDestroy()
onCreate(not null)
onStart()
onRestoreInstanceState(not null)
onResume()
onPause()
---------- Turn Screen On -------------
OnResume()
onPause()
onSaveInstanceState(not null)
onStop()
onDestroy()
onCreate(not null)
onStart()
onRestoreInstanceState(not null)
onResume()
Опять же, эти результаты взяты из совершенно нового проекта без каких-либо изменений кода, кроме операторов журнала в каждом из методов. Почему так много дополнительных, ненужных вызовов методов, когда Nexus 7 выключается и снова включается? Похоже, что приложение полностью уничтожается, а затем создается заново.
Для полноты картины при использовании кнопки «Домой» и последующем перезапуске приложения жизненный цикл на разных устройствах кажется одинаковым.
Заранее благодарю за любую помощь. Уэйн