私は数か月間アプリケーションを開発しており、リリースの準備をしています。プロセス全体のテストに Android 4.0.4 を搭載した Motorola Xoom を使用してきましたが、すべて問題なく動作しました。Google から Nexus 7 (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()
繰り返しますが、これらの結果は、各メソッドの Log ステートメント以外にコードを変更していない、まったく新しいプロジェクトからのものです。Nexus 7 の電源をオフにしてから再びオンにすると、不要なメソッド呼び出しが大量に追加されるのはなぜですか? アプリケーションを完全に破壊してから再作成しているようです。
完全を期すために、ホーム ボタンを使用してからアプリケーションを再起動すると、ライフ サイクルはデバイス間で一貫しているように見えます。
助けてくれてありがとう。ウェイン