是否可以取消AsyncTask中doInBackground执行非常长操作的{{3}}行命令,例如
@Override
protected Boolean doInBackground(String... filename) {
fetchfile(filename[0]);
// ...
// ...
return ...;
}
答案 0 :(得分:0)
您可以AsyncTask.cancel()
取消。您可以在fetchFile
方法内的适当位置取消它,您认为它不会在数据中或在更容易回滚的位置引入不一致。
答案 1 :(得分:0)
在你的长期运行方法中,定期检查isCanceled,如果是,则从ASAP函数返回,以便可以关闭异步线程。 你可以从任何线程调用cancel()。