11

我可以知道知道 Activity 是否已被销毁的正确方法是什么吗?目前,我正在使用以下方式。

private volatile boolean isOnDestroyCalled = false;

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

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

还有比上述更好的方法吗?

4

1 回答 1

4

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

于 2012-07-10T09:02:31.067 回答