Android之 如何在退出一个activity后,很好的取消AsyncTask继续运行
public class Task extends AsyncTask<Void, Void, Void>{@Override
protected Void doInBackground(Void... path) {
// Task被取消了,马上退出循环
if(isCancelled()) return null;
}@Override
public void onProgressUpdate(File... files) {
// Task被取消了,不再继续执行后面的代码if(isCancelled()) return;
.........
}
}UI线程:// 保持对Task的引用private PhotoTask task;// 1,启动新的任务
task = new PhotoTask();
task.execute(path);// 2, 取消任务if (task != null && task.getStatus() == AsyncTask.Status.RUNNING) {
task.cancel(true); // 如果Task还在运行,则先取消它
}}
}
加载网络数据、访问数据库、文件等这些问题,应该另起一个线程并且后台运行,不用让用户等待你的数据加载。
回到你的问题上来,AsyncTask用的是线程池,线程不用就会放回池中. 有新的AsyncTask会取出已有线程,之后开始执行,这就是导致你有多个AsyncTask的原因。所以即使调用AsyncTask的cancle方法,你会发现依旧结束不了这个东西。
你尝试在关闭界面的同时获得当前界面绑定的那个AsyncTask对象,并将其设置为空。如果依旧不行,那就可以考虑自己封装一个下载线程啦
Android之 如何在退出一个activity后,很好的取消AsyncTask继续运行相关推荐
- Android如何跳转至目标Activity后按返回键不返回前一个Activity
有时候我们希望从一个activity离开后,按返回键不要再回去(比如点击退出登陆后跳转至登陆界面,这是点击返回键不希望返回到之前的退出登陆界面),那么我们需要把这个activity从栈区中去除.考虑在 ...
- android 多个fragment切换,一个Activity中多个Fragment的切换
经常会遇到在一个activity界面上布局多个fragment,但是如何从一个fragment跳转到另一个fragment呢?今天在做项目中恰好遇到这样的问题,点击首页fragment的更多店铺,会切 ...
- 【Android】12.3 在当前Activity中获取另一个Activity的返回值
分类:C#.Android.VS2015: 创建日期:2016-02-23 一.简介 在上一节的示例中,通过StartActivity(Intent)方法启动另一个Activity后,这两个Activ ...
- Android Studio App开发入门之在活动之间传递消息(附源码 超详细必看)(包括显示和隐式Intent,向上一个和下一个Activity发送数据)
运行有问题或需要源码请点赞关注收藏后评论区留言~~ 显示Intent和隐式Intent Intent是各个组件之间的信息沟通的桥梁,既能在Activity之间沟通,又能在Activity与Servi ...
- android serialport new 软件退出_基于Android9.0,了解Android启动流程
先记住四个进程和三种方式. **四个进程** 1.Launcher进程 2.system_server进程 3.App进程 4.Zygote进程 **三种方式** 1.Binder方式 2.Socke ...
- 进入Activity后让EditText自动弹出小键盘
今天一个Activity后,其中包含EditText,让其获取焦点,并且自动弹出小键盘 et_extracted_departureNet.setFocusable(true); et_extract ...
- 开发日记-20190423 关键词 android静态代理类代理方法打断点debug 退出当前activity 闪退
其实以前就已经遇到过这样的问题,但是很遗憾,一直没有找到问题所在,今天下定决心,弄了一个下午,终于发现了问题所在.不妨在你的真机上运行这样的代码,整个页面的布局其实真的很简单,就是在页面的中心有一个可 ...
- Android官方开发文档Training系列课程中文版:管理Activity的生命周期之启动一个Activity
原文地址 : http://android.xsoftlab.net/training/basics/activity-lifecycle/index.html 导言 用户通过导航退出或者返回应用的时 ...
- Android Activity的启动流程分析:以Launcher启动一个Activity为例,分析应用进程的创建、Activity的启动,以及他们和AMS之间的交互
文章目录 一. Step1 - Step 11:Launcher通过Binder进程间通信机制通知ActivityManagerService,它要启动一个Activity: Step 1. Laun ...
最新文章
- 让计算机“拥抱”常识
- CentOS 6.5+Nagios4.0.2+Msmtp+Mutt邮箱报警
- Fiddler之弱网测试(Web)
- 计组-总线操作和定时
- linux c之解决使用socket函数返回为0的问题
- 您应该对什么进行单元测试? –测试技术3
- 「洛谷2495」「BZOJ3052」「SDOI2001」消耗战【虚树+树形动态规划】
- py哪个函数可以返回输入的变量类型_[Python基础]二、pycharm,python变量
- 本周耐撕团队个人总结
- 【Flink】Flink 基于 MailBox 实现的 StreamTask 线程模型
- Could not find the main class: org.apache.catalina.startup.Bootstrap. Program will exit.
- 58岁退休女士,想出去旅游却很难约到合适的伴,怎么办?
- [Java] 蓝桥杯 BEGIN-2 入门训练 序列求和
- ios键盘横屏_平板电脑就只能追剧玩游戏?看这款外设键盘如何让iPad爱上办公...
- Python 奇淫技巧 -- 利用pandas读取xml转换为excel
- 计算机课程用到的软件,在电脑上录课用什么软件好?好用的录课软件推荐
- mysql定时自动备份数据库
- Team Foundation Server 2013 with Update 3 Install LOG
- 跨专业考c语言程序设计,多位跨考大神,教你如何跨专业上岸
- Linux:netstat命令结果详解
热门文章
- .net core 下的分布式事务锁
- 如何运用并行编程Parallel提升任务执行效率
- 如何在 ASP.Net Core 中使用 File Providers
- Azure 内容审查器之羞羞图审查
- Sql Server之旅——第十三站 深入的探讨锁机制
- 给Hangfire的webjob增加callback和动态判断返回结果功能设计
- 使用ASP.NET Core 3.x 构建 RESTful API - 3.2 开始建立Controller和Action
- 用 docker-compose 启动 WebApi 和 SQL Server
- Ocelot Api网关教程(9)- QoS
- SmartCode.ETL 这不是先有鸡还是蛋的问题!