如果 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 回答