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对象,并将其设置为空。如果依旧不行,那就可以考虑自己封装一个下载线程啦


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/294059.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

美国超人气漫画科普书!85%以上中学物理考点,5岁孩子秒懂物理

▲ 点击查看今年的高考&#xff0c;不得不说&#xff0c;一度被浙江学霸刷屏&#xff01;他总分720分&#xff0c;物理等3门满分的成绩&#xff0c;最终获得“浙江高考状元”。状元能摘得桂冠&#xff0c;除了日积月累的不断努力外&#xff0c;最重要的是&#xff0c;不断调整自…

我的博客初始化

我是一名在读学生&#xff0c;平时没有摘抄、写日记、笔记之类的习惯&#xff0c;自从在amobbs上发了一篇lwip的移植记录&#xff0c;得到大家的回响&#xff0c;对自己的工作也有了极大的鼓舞作用&#xff0c;也开始学着写一些学习的笔记。记录生活和学习的点滴&#xff0c;经…

gevent 学习笔记一

import geventdef a():print a starting....gevent.sleep(1)print a endingdef b():print b starting....gevent.sleep(1)print b endinggevent.joinall([gevent.spawn(a), gevent.spawn(b) ]) 结果显示&#xff0c;用gevent并不会因为gevent.sleep而造成阻塞,但用内置的time.s…

在.Net环境下使用elasticsearch实现大数据量的搜索

Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域&#xff0c;Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。Elasticsearch使用标准的RESTful API和JSON。我们还用多种语言构建和维护客户机&#xff0c;如Java、Pyth…

鸿蒙手机启动器apk下载,澪Pro启动器本体下载最新版

澪Pro启动器本体下载最新版专为我的世界的玩家们打造&#xff0c;可以在这里自由安装不同mod&#xff0c;也可以自定义编辑丰富的游戏内容&#xff0c;感受全新精彩的沙盒冒险玩法乐趣&#xff0c;更有丰富的资源和皮肤提供给玩家们&#xff0c;畅爽的玩法模式&#xff0c;沉浸…

当前联机日志损坏恢复

2019独角兽企业重金招聘Python工程师标准>>> 环境模拟 删除状态为active的联机日志&#xff0c;然后强行关闭数据库 处理过程 SQL> startup ORACLE instance started. Total System Global Area 167772160 bytes Fixed Size 1260720 bytes Variable Size 1426071…

Android之 如何解决ScrollView 和ListView滑动冲突的问题如何解决ScrollView can host only one direct child

android 采用ScrollView布局时出现异常:ScrollView can host only one direct child。 解决办法:主要是ScrollView内部只能有一个子元素,即不能并列两个子元素,所以需要把所有的子元素放到一个LinearLayout内部或 RelativeLayout等其他布局 如何解决ScrollView 和ListVi…

mysql 中执行的 sql 注意字段之间的反向引号和单引号

如下的数据表 create table test( id int(11) not null auto_increment primary key, user varchar(100) not null, flag char(2) not null default ok ); 当查询时应该写成 $sql "select user from test where flagok "; 字段是数据表的&#xff0c;用 &#xff08…

权威杂志评选出的十个最伟大的公式,爱因斯坦的质能方程竟然只能排第六!简直神仙打架....

全世界只有3.14 % 的人关注了爆炸吧知识难决高下各有千秋当数学家得出方程式和公式&#xff0c;如同看到雕像&#xff0c;美丽的风景&#xff0c;听到优美的曲调等等一样而得到充分的快乐。——柯普宁公式&#xff0c;是数学世界中一道美丽的风景&#xff0c;一个小小的等式&am…

在Idea中测试各JVM语言的交互性

为什么80%的码农都做不了架构师&#xff1f;>>> 背景&#xff1a; 假设出现这样的场景&#xff0c;一个Java项目中&#xff0c;需要用其他语言来编写相关模块&#xff0c;但需要能被Java调用 测试工具&#xff1a;Idea12 测试语言&#xff1a;Groovy、Scala、Ko…

android pcm调节音量,调整PCM语音数据的音量

通过编程实现调整PCM的音量&#xff0c;具体做法是乘上一个固定的数&#xff0c;但是要考虑数据的溢出问题&#xff0c;代码如下&#xff1a;//调节PCM数据音量//comment : 对PCM数据的音量进行放大//parameter :// pData PCM数据// nLen PCM数据的长度// nBitsPerSample 每个S…

.NET 大会今日开幕 |这些白嫖福利不看肠子都悔青

{ 12.18 线上开幕 文末有福利 }2021 .NET 开发者大会&#xff0c;今日开幕你是否已经满怀期待&#xff0c;同时又有很多疑问“ 会场在哪里&#xff1f;” "哪些大咖会参加&#xff1f;"“ 技术主题有哪些&#xff1f;” “ 什么时间有福利&#xff1f;”…时间不多了…

Android之如何解决ScrollView起始位置不是最顶部的解决办法

最近遇到了打开带有ScrollView的页面布局默认起始位置不是最顶部的情况&#xff0c;最后发现问题是因为ScrollView内部嵌套了listview&#xff0c;只需要设置listview获取焦点为false即可。 listview.setFocusable(false); 如果内部嵌套的是其它&#xff0c;也是同样的处理方…

asp.net web常用控件FileUpload(文件上传控件)

2019独角兽企业重金招聘Python工程师标准>>> FileUpload控件的主要中能&#xff1a;向指定目录上传文件&#xff0c;该控件包括一个文本框和一个浏览按钮。 常用的属性&#xff1a;FileBytes&#xff0c;FileContent、FileName、HasFile、PostedFile。 常用的方法&a…

SQL、LINQ、Lambda 三种用法

颜色注释&#xff1a; SQL LinqToSql Lambda QA1、 查询Student表中的所有记录的Sname、Ssex和Class列。select sname,ssex,class from studentLinq: from s in Students select new { s.SNAME, s.SSEX, s.CLASS }Lambda: Students.Select( s…

android 拍照换头像,Android调用相机拍照,裁剪及更换头像功能的实现

1&#xff0c;点击弹出popwindow&#xff0c;选择相机或者相册这个就不多说了&#xff0c;在OnclickListener里写弹出的窗口位置和样式。2&#xff0c;选择拍照功能&#xff0c;调用手机相机。//调用相机Intent intent new Intent("android.media.action.IMAGE_CAPTURE&q…

win7 绑定arp

首先&#xff0c;需要查看可用网卡的id&#xff0c;使用命令netsh i i show interface &#xff1b; 再绑定arp地址&#xff0c;netsh -c "i i" add neighbors idx IP地址 MAC地址 &#xff1b; 若要删除绑定&#xff0c;可以使用netsh -c "i i" delete…

设计模式:面向对象的设计原则下(ISP、DIP、KISS、YAGNI、DRY、LOD)

本文继续来介绍接口隔离原则&#xff08;ISP&#xff09;和依赖倒置原则&#xff08;DIP&#xff09;&#xff0c;这两个原则都和接口和继承有关。文章最后会简单介绍几个除了 SOLID 原则之外的原则。接口隔离原则&#xff08;ISP&#xff09;提起接口&#xff0c;开发人员的第…

Android之sqlite常见用法以及取最新多少条数据(包括删除和不删除之外的数据)

用sqlite的感受: sqlite和mysql很像,如果你对mysql有一定的经验,那么里面的sql写法也类似,比如常见的limit用法,mysql里面主要用limite分页,但是数据多了不建议,很影响效率。 sqlite常用用法函数总结如下: query: //need try catch and db.close();try{cursor…