android系统中的多线程(三):关于定时和周期性执行
来源:互联网 发布:sql 重复数据 编辑:程序博客网 时间:2024/05/29 15:31
http://blog.csdn.net/crystal923129/article/details/6739615
使用Handler和 TimerTask ,在java.util.Timer线程执行
Timer负责设定周期
TimerTask负责具体执行任务,对于需要更新UI的部分,发送消息给Handler,新启动了线程
Handler 重写handleMessage方法处理消息 ,更新UI
举例:
- Timer timer = new Timer();
- Handler handler = new Handler(){
- public void handleMessage (Message msg) {
- switch (msg.what) {
- case TestHandler.GUIUPDATEIDENTIFIER: mImageView.invalidate();
- break;
- }
- super.handleMessage(msg);
- }
- };
- TimerTask task = new TimerTask(){
- public void run() {
- Message message = new Message();
- message.what = TestHandler.GUIUPDATEIDENTIFIER;
- handler.sendMessage(message);
- }
- };
- public void onCreate(Bundle savedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- timer.schedule(task, 10000);
- }
使用Runnable和Handler的postDelayed方法实现,在handler所在线程实现,即使runnable属于其它线程也是在handler所在线程执行
举例:
- private Handler handler = new Handler();
- private Runnable myRunnable= new Runnable() {
- public void run() {
- if (run) {
- handler.postDelayed(this, 1000);
- }
- mImageView.invalidate();
- }
- };
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- handler.post(myRunnable);
- }
- @Override
- protected void onDestroy() {
- handler.removeCallbacks(myRunnable);
- super.onDestroy();
- }
- android系统中的多线程(三):关于定时和周期性执行
- android系统中的多线程(三):关于定时和周期性执行
- android系统中的多线程(三):关于定时和周期性执行 .
- android 后台长时间执行周期性定时任务 解决方案收集
- android 后台长时间执行周期性定时任务 解决方案收集
- android 后台长时间执行周期性定时任务 解决方案收集
- android 后台长时间执行周期性定时任务 解决方案收集
- ScheduledExecutorService执行周期性或定时任务
- ScheduledExecutorService执行周期性或定时任务
- ScheduledExecutorService执行周期性或定时任务
- ScheduledExecutorService执行周期性或定时任务
- ScheduledExecutorService执行周期性或定时任务
- ScheduledExecutorService执行周期性或定时任务
- ScheduledExecutorService执行周期性或定时任务
- ScheduledExecutorService执行周期性或定时任务
- js中的延迟执行和定时执行
- js中的延迟执行和定时执行
- js中的延迟执行和定时执行
- 为程序开发人员量身定制的12个目标
- android系统中的多线程(一): 关于在android中启动线程以及线程间的交互
- 企业级Web应用用户界面设计杂谈
- Panabit初步安装
- android系统中的多线程(二): 关于在work thread中对UI进行更新和设置
- android系统中的多线程(三):关于定时和周期性执行
- 启动websphere
- 老程序员的忠告:不要做浮躁的软件工程师
- redis学习心得之一【安装redis初体验】
- 重启服务器oracle文件夹清空问题
- 给IT新男的15点建议:苦逼程序员的辛酸反省与总结
- Linux查看程序端口占用情况
- IT技术开发人员35岁之前应该做的十件事
- anymacro mail 严重漏洞