私は他のみんなとは逆の問題を抱えているようです。:)
あるアクティビティから次のアクティビティに移動するたびに、onSaveInstanceStateが呼び出されます。LogCatにチェックインしましたが、アクティビティが強制終了されるわけではありません。また、戻ったときにonRestoreInstanceStateが呼び出されないため、まだメモリ内にあるはずです。
記憶を解放するときや向きを変えるときにだけ呼び出されると思いました。
私は他のみんなとは逆の問題を抱えているようです。:)
あるアクティビティから次のアクティビティに移動するたびに、onSaveInstanceStateが呼び出されます。LogCatにチェックインしましたが、アクティビティが強制終了されるわけではありません。また、戻ったときにonRestoreInstanceStateが呼び出されないため、まだメモリ内にあるはずです。
記憶を解放するときや向きを変えるときにだけ呼び出されると思いました。
はい、onSaveInstanceState()
アクティビティが一時停止されたときに呼び出されます。これは、アクティビティが一時停止されると、Androidはいつでも(他のライフサイクルメソッドを呼び出さずに)プロセスを強制終了できるためです。プロセスが強制終了される前にアクティビティが再開された場合、Androidは呼び出す必要がないことを認識し、onRestoreInstanceState()
その呼び出しを行いません(これは最適化です)。
ドキュメントの発言はどうですか。
「呼び出された場合、このメソッドはonStop()の前に発生します。onPause()の前または後に発生するかどうかについての保証はありません。」