首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在安卓系统中停止ASyncTask线程

如何在安卓系统中停止ASyncTask线程
EN

Stack Overflow用户
提问于 2010-12-13 20:59:36
回答 2查看 28.1K关注 0票数 20
代码语言:javascript
运行
复制
can anybody have any idea how to stop ASyncTask thread in android?.

实际上,我有一个创建线程并执行它们的循环。当这个循环结束时,我想停止所有已经运行的线程。有什么办法可以停止线程吗?

非常感谢。

EN

回答 2

Stack Overflow用户

发布于 2010-12-13 21:55:14

根据我使用AsyncTask的经验,调用cancel(boolean mayInterruptIfRunning)并不一定会停止后台进程的执行。似乎发生的所有事情都是AsyncTask将执行onCancelled(),而在完成时不会运行 onPostExecute()。具体行为可能取决于doInBackgound()中的代码

票数 40
EN

Stack Overflow用户

发布于 2013-05-21 21:02:43

在我的例子中,我使用HttpPost、HttpGet等执行服务器请求。我找到的结束AsyncTask的唯一方法是调用abort()方法,如您在以下示例中所见

代码语言:javascript
运行
复制
if (isCancelled) {
     try {
         //cancel the task and immediately abort the HttpRequest
         uploadTask.cancel(true);
         post.abort();
     } catch (UnsupportedOperationException e) {
         e.printStackTrace();
     }
} 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4429043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档