取消AsyncTask

时间:2011-08-28 12:01:42

标签: android android-asynctask

是否可以取消AsyncTaskdoInBackground执行非常长操作的{{3}}行命令,例如

@Override
protected Boolean doInBackground(String... filename) {
    fetchfile(filename[0]);
    // ...
    // ...
    return ...;
}

2 个答案:

答案 0 :(得分:0)

您可以AsyncTask.cancel()取消。您可以在fetchFile方法内的适当位置取消它,您认为它不会在数据中或在更容易回滚的位置引入不一致。

答案 1 :(得分:0)

在你的长期运行方法中,定期检查isCanceled,如果是,则从ASAP函数返回,以便可以关闭异步线程。 你可以从任何线程调用cancel()。