自分の作ったアプリを起動させ、しばしアプリを扱った後に、
ホームボタンを押し、まったく別のアプリを起動させます。
ですが、結論から言えば「自力でActivityの状態を保持/復元する必要がある」になります。
ホームボタンを押してホーム画面に戻ると、アプリは休止中の扱いになりますが、休止中の
アプリはOSによるGC対象になりうるため、アプリを殺される前の状態を保持しておきたい場合は、
明示的に状態保存を行っておく必要があります。
EditTextの入力値などは onSaveInstanceState(Bundle) や onRestoreInstanceState(Bundle) で
保存/復元できますが、これも「何を保存/復元するか」は自分で決める必要があります。
ただし、アプリがOSにより完全に殺されてしまった場合は、内容の復元は保証できません。
そんな場合でも状態の復元を行いたい、ということであれば、上記に加えonPause() で
情報の永続化を行い、 onResume() でそれを復元する、といった処理も併用する
必要があると考えます。
ActivityとFragmentのライフサイクルは、 TechBooster さんのサイトでとても分かりやすい
図を公開してくださっているので、参考にしてみてください。
http://techbooster.org/android/environment/17001/
なお、逆に「ランチャーから起動したときは、常に最初からにしたい」という場合は、ランチャー起動
させるActivityに android:clearTaskOnLaunch="true" を追加してみてください。
http://developer.android.com/intl/ja/guide/topics/manifest/activity-element.html#clear
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/30 06:52