4

Activityが破棄されたが、それでもAsyncTaskオブジェクトへの参照がある場合、参照された(破棄された)アクティビティを直接クエリして、Activityがまだ有効かどうかを判断する方法はありますか?

4

2 に答える 2

3

アクティビティのonDestroy()メソッドで、アクティビティが破棄されたことを示すフラグを設定します。

さらに、通常の参照の代わりにをAsyncTask追加します。WeakReferenceActivity

onPostExecute()メソッドでは、まだ値があり、それ自体のフラグがfalseに設定されてAsyncTaskいる場合、アクティビティはまだ生きています。WeakReferenceActivity

于 2012-08-06T19:53:59.507 に答える
0

WeakReferenceあなたの活動を続けてみてください。

WeakReference<Activity> ref = new WeakReference<Activity>(activity);
… … …
Activity activity = ref.get();
if (activity != null) {
    // DO SOMETHING
}
于 2012-08-06T19:43:39.323 に答える