如果 anActivity
已被销毁,但 anAsyncTask
仍然具有对该对象的引用,有没有办法直接查询引用(已销毁)的活动以确定 是否Activity
仍然有效?
问问题
1953 次
2 回答
3
在onDestroy()
Activity的方法中,设置一个标志,表示Activity被销毁。
此外,在AsyncTask
添加 aWeakReference
而Activity
不是普通引用。
在 的onPostExecute()
方法中AsyncTask
,如果 ActivityWeakReference
仍然有值,则 Activity 仍然存在,并且Activity
自身的标志仍然设置为 false。
于 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 回答