我有一个 AsyncTask(在后台进行一些网络连接检查),假设它在 onPostExecute 中什么都不做。问题是当我查看 DDMS 线程视图时,我看到我的 AsyncTask 仍在等待 smth,尽管后台工作已经完成并且我什至退出了应用程序。
我认为这种行为不正常,有人可以启发我吗?
public class CheckConnectionTask extends AsyncTask<String, Integer, Boolean> {
private Integer forTask = null;
public CheckConnectionTask(Integer forTask) {
super();
this.forTask = forTask;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Boolean doInBackground(String... params) {
if (D) Log.d(TAG, "doInBackground");
Thread.currentThread().setName("CheckConnectionTask for task " + forTask);
return DataUtils.isInternetConnectionAvailable(CurrentActivity.this);
}
@Override
protected void onPostExecute(Boolean result) {
if (D) Log.d(TAG, "onPostExecute");
super.onPostExecute(result);
//do some UI work here, nothing for the moment
}
}