Android Timer和TimerTask解决IllegalStateException:Task already scheduled or cancelled
解决IllegalStateException:Task already scheduled or cancelled
用定时器完成循环操作遇到的问题,解决方法如下
我这里列举了三种方法
timer = new Timer();task = new TimerTask() {public void run() {handler.sendEmptyMessage(1);}};/***************1.解决IllegalStateException:Task already scheduled or cancelled.*****************/Field field = null;try {field = TimerTask.class.getDeclaredField("state");} catch (NoSuchFieldException e) {e.printStackTrace();}field.setAccessible(true);try {field.set(task, 0);} catch (IllegalAccessException e) {e.printStackTrace();}timer.schedule(task,1000,1000);/***************1.解决IllegalStateException:Task already scheduled or cancelled.*****************//***************2.解决IllegalStateException:Task already scheduled or cancelled.*****************/
// timer.scheduleAtFixedRate(task, 1000 , 1000);
// try {
// Thread.sleep(1000);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// task.cancel();
//
// task = new TimerTask() {
// public void run() {
// Message message = new Message();
// message.what = 1;
// handler.sendMessage(message);
// }
// };
// timer.scheduleAtFixedRate(task, 1000 , 1000);/***************2.解决IllegalStateException:Task already scheduled or cancelled.*****************//***************3.解决IllegalStateException:Task already scheduled or cancelled.*****************/// timer.scheduleAtFixedRate(task, 1000 , 1000);
// try {
// Thread.sleep(1000);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// timer.cancel();
// timer.purge();
// timer = new Timer();
// task = new TimerTask() {
// @Override
// public void run() {
// Message message = new Message();
// message.what = 1;
// handler.sendMessage(message);
// }
// };
// timer.scheduleAtFixedRate(task, 1000 , 1000);/***************3.解决IllegalStateException:Task already scheduled or cancelled.*****************/
不要忘记,不用的时候
if (timer!=null){timer.cancel();timer=null;}if (task!=null){task.cancel();task=null;}
Android Timer和TimerTask解决IllegalStateException:Task already scheduled or cancelled相关推荐
- android Timer与TimerTask的相关操作
项目上面的部分操作需要使用到定时器进行周期性的控制.网络上面对于定时器的操作通常有三种实现方法. 我是通过Timer与TimerTask相结合实现的定时器功能.具体实现过程如下: 第一步,得到Time ...
- Java Timer、TimerTask
下面内容转载自: http://blog.csdn.net/xieyuooo/article/details/8607220 其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了r ...
- Timer与TimerTask的真正原理使用介绍
其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个类,而具体的TimerTask需要由你自己来实现,例如这样: Timer timer = new Timer() ...
- java定时器-Timer和TimerTask详解
1.例子入手 package pers.growing.test;import java.util.Timer; import java.util.TimerTask;public class Mai ...
- Java多线程总结(3)— Timer 和 TimerTask深入分析
1. 基本概念 java.util.Timer:是一个实用工具类,该类用来调度一个线程(schedule a thread),使它可以在将来某一时刻执行. Java的Timer类可以调度一个任务运 ...
- Android之Timer和TimerTask的介绍
在开发中我们有时会有这样的需求,即在固定的每隔一段时间执行某一个任务.比如UI上的控件需要随着时间改变,我们可以使用Java为我们提供的计时器的工具类,即Timer和TimerTask. Timer是 ...
- android的timertask,Android 中 Timer 和 TimerTask的使用
Android中Timer是一个普通的类,其中有几个重要的方法:而TimerTask则是一个抽象类,其中含有一个抽象方法run(). 使用Timer类中的schedule()方法可以完成对TimerT ...
- Android DialogFragment 遇到 java.lang.IllegalStateException: Fragment already added: 的解决方法
Android DialogFragment 遇到 java.lang.IllegalStateException: Fragment already added: 的解决方法 参考文章: (1)An ...
- 【Android 异步操作】Timer 定时器 ( Timer 与 TimerTask 基本使用 | Timer 定时器常用用法 | Timer 源码分析 )
文章目录 一.Timer 定时器基本使用 二.Timer 定时器常用用法 三.Timer 源码分析 四.Timer 部分源码注释 五.源码及资源下载 参考文档 : Timer 定时器 API 文档 T ...
- Android Timer编写方式深解
许多编程人员都会认为,Android Timer的实现方法比较简单,其实真正的草率做起来并非如此.我们在这里就为大家介绍一下这方面的相关知识. Android手机操作系统是一款基于Linux平台的开源 ...
最新文章
- 前后端项目中跨域问题
- Yolov1-手把手用自己的数据集训练自己的模型
- python3 用pygame 简单建一个飞船模型
- 电脑记时----千年虫
- Ubuntu系统下Python虚拟环境构建详解
- 详解Python操作Excel文件
- 最大公约数 和 最小公倍数
- openlayer 图层上下_OpenLayers 3 的图层体系结构
- [leetcode]1.Two Sum
- windows nginx 搭建 图片服务器
- 巴塞尔协议中的计算公式_巴塞尔协议演变及计算方法简单解析
- 支付宝转账到银行卡的功能测试点
- Android音乐播放器
- html作品源文件,编辑HTML源文件
- 西门子实数转整数_西门子PLC字整数与双字整数之间的转换、双整数与实数之间的转换...
- 计算机考试题 实操,计算机考试实操题.doc
- [AFCTF2018]可怜的RSA
- Flume 常见配置zo
- python中arcsec_在Python类中继承Cython类
- 猫眼api html,猫眼电影数据抓取
热门文章
- otl连接mysql数据库_C++类库:OTL连接MySQL ODBC数据库(insert, update, select)
- http://msdn.itellyou.cn/
- 屏蔽非微信客户端和支付宝登陆登录操作
- 对抗雾霾的健康饮食注意
- ESlint配置大全
- Android外部存储设备管理——vold挂载大容量存储设备
- fpga加载程序慢_FPGA JTAG接口下载速度很慢
- Gnutella 及无结构化(非结构化)P2p的一些总结
- 【操作系统】CPU是如何执行程序的?
- SVC的主要作用及应用范围