正确的方法来了解活动是否已被销毁

时间:2012-07-10 08:50:54

标签: android

我是否知道知道某项活动是否已被销毁的正确方法是什么?目前,我使用以下方式。

private volatile boolean isOnDestroyCalled = false;

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

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

还有其他方法比上面更好吗?

1 个答案:

答案 0 :(得分:3)

这样可行,但有时候如果应用程序在其他应用程序需要优先级时处于非活动状态,则操作系统会关闭并关闭应用程序。当然,我知道当发生这种情况时,变量将被取消,但不确定是否会在你的情况下使用volatile进入主内存。但是,确保获得正确值的一种方法是将其保存在SharedPreferences中。