私は AsyncTask (バックグラウンドでいくつかのネットワーク接続チェックを行っています) を持っていますが、これは onPostExecute では何もしないとしましょう。問題は、DDMS Threads ビューを見ると、バックグラウンドでの作業が完了し、アプリを終了したにもかかわらず、AsyncTask がまだ待機していることです。
この振る舞いは正常ではないと思います。誰か教えてもらえますか?
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
}
}