Android中定时任务的实现方法
来源:互联网 发布:外卖快餐软件 编辑:程序博客网 时间:2024/06/13 19:42
在 Android 开发过程中,常常会遇到定时执行某个任务的需求。常用的几种方法如下:
1)采用Thread
和Thread.sleep()
来实现;
2)采用Handler
和Handler.postDelay()
来实现;
3)采用Timer
和TimerTask
来实现。
1 采用Thread
和Thread.sleep()
来实现
采用这种方式实现的时候,其实现方式见如下代码:
private void performTask() { new Thread() { @Override public void run() { try { Thread.sleep(3000); //执行需要执行的任务 } catch (InterruptedException e) { e.printStackTrace(); } } }.start(); }
如果执行的任务中,需要更新界面UI的话,就需要另外的一个类——Handler来处理界面UI的更新,其实现方式如下:
/** * 在 Handler 中更新界面 UI */ Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); //更新UI } }; private void performTask() { new Thread() { @Override public void run() { try { Thread.sleep(3000); //执行需要执行的任务 Message message = new Message(); message.what = 1; handler.sendMessage(message);// 发送消息 } catch (InterruptedException e) { e.printStackTrace(); } } }.start(); }
2 采用Handler
和Handler.postDelay()
来实现
采用这种方式的时候,其实现代码示例如下:
Handler handler = new Handler(); private void performTask() { handler.postDelayed(new Runnable() { @Override public void run() { //执行需要执行的任务 handler.postDelayed(this, 3000); } }, 3000); }
注:本实现主要是采用
handler.postDela
的递归调用来实现任务的重复执行的 ,事项方式相对简单,当不需要执行任务的时候,必须调用handler.removeCallbacks(runnable)
来停止执行任务。
3 采用Timer
和TimerTask
来实现
Timer类适用于执行一些简单的定时任务,无须做复杂的控制,是线程安全的单线程任务调度工具。
采用本方法实现定时任务的执行,其实现方式如下:
private void performTask() { Timer timer = new Timer(); TimerTask timerTask = new TimerTask() { @Override public void run() { //执行需要执行的任务 } }; timer.schedule(timerTask, 3000, 3000); }
注:当不需要再执行定时任务的时候,需要调用
timer.cancle()
来停止计时器任务。
4 管理长时的定时任务
如果当前计时任务需要一直持续很长时间的话,可以使用Service来管理。
0 0
- Android中定时任务的实现方法
- Android中定时执行任务的3种实现方法
- Android中定时执行任务的3种实现方法
- Android中定时执行任务的3种实现方法
- Android中定时执行任务的3种实现方法
- Android中定时执行任务的3种实现方法
- Android中定时执行任务的3种实现方法
- Android中定时执行任务的3种实现方法
- Android中定时执行任务的3种实现方法
- Android中定时执行任务的3种实现方法
- Android中定时执行任务的3种实现方法
- Android中定时执行任务的3种实现方法
- Android中实现定时周期任务的方法
- Android中定时执行任务的3种实现方法
- Android中定时执行任务的3种实现方法
- Android中定时执行任务的3种实现方法
- Android中定时执行任务的3种实现方法
- Android中定时执行任务的3种实现方法
- Jpush 自定义推送声音
- Mybatis入门程序
- 代码重构(三):数据重构规则
- spring源码解读:aware接口
- 因式分解结合最近邻:多层面的协同过滤模型
- Android中定时任务的实现方法
- 做项目是抢,做互联网是拼。 一个是跟对手抢,一个是自己跟自己比拼。
- Multiple methods named 'count:' found with mismatched result, parameter type or attributes
- tp5分页样式整理
- 代码重构(四):条件表达式重构规则
- javaSE_8系列博客——Java语言的特性(二)--高级语言的基础知识(2)-- 变量和常用数据类型
- 结构体数据对齐原则的一些补充
- 算法-二叉树的前中后遍历stack版
- jupyter网站的使用以及常见linux下的简单的命令