私の Android アプリは、いくつかのアクティビティで構成されています: M
(メインまたはルート) A
、、、... 以下は、考えられるアクティビティ ナビゲーション グラフですB
。C
ルート アクティビティM
を初期化するときに、一部のパラメータ (画面サイズなど) を特別なクラスの静的変数としてキャッシュMyUtils
して、後で他のアクティビティで使用できるようにします。
Kaboom は、アクティビティ中にホーム ボタンを押してC
、多数のアプリケーションを起動すると発生します。アプリケーションに戻ると、すべてが破棄されているように見えます。C.onCreate
メソッドが呼び出されていますが、キャッシュされたパラメーターがリセットされているようです。
長い一時停止の後、Android がアプリケーションを荒廃させた後M
ではなく、から始めたいと思います。C
どうすればこれを達成できますか?
私は次のようなことを考えました:
// to be put into all my activities but M:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (MyUtils.GetScreenWidth() == -1)
{
// seems like Android killed my app
finish();
return;
}
// Normal initialization.
// Use MyUtils.GetScreenWidth() to align my ui elements.
}
...しかし、それが最善の方法であるかどうかはわかりません。何を提案しますか?