Жизненный цикл активности Android в Jelly Bean

Я разрабатываю приложение уже несколько месяцев и готовлюсь к выпуску. Я использовал 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 выключается и снова включается? Похоже, что приложение полностью уничтожается, а затем создается заново.

Для полноты картины при использовании кнопки «Домой» и последующем перезапуске приложения жизненный цикл на разных устройствах кажется одинаковым.

Заранее благодарю за любую помощь. Уэйн

8
задан mcwadar 26 July 2012 в 19:43
поделиться