11

アクティビティが破棄されたかどうかを知るための適切な方法を教えてください。現在、以下の方法で使用しています。

private volatile boolean isOnDestroyCalled = false;

@Override
protected void onDestroy() {
    super.onDestroy();
    isOnDestroyCalled = true;
}

public boolean isOnDestroyCalled() {
    return this.isOnDestroyCalled;
}

上記以外の方法はありますか?

4

1 に答える 1

4

それは機能しますが、他のアプリケーションが優先する必要があるときにOSが非アクティブである場合、OSが停止してアプリケーションをシャットダウンすることがあります。確かに、それがいつ発生するかは変数が無効になることを私は知っていますが、あなたの場合、メインメモリに行くvolatileを使用するかどうかはわかりません。ただし、正しい値を確実に取得する1つの方法は、SharedPreferencesに保存することです。

于 2012-07-10T09:02:31.067 に答える