我最终还是把日记移回到了博客中。的确,我的日记只是每天写点自己在Android中的心得,很难保证质量,发在论坛里是不合适,对大家造成的影响表示歉意。

前几天家里的网一直不好,所以欠下了几篇日记,我已经补齐了,现在就都慢慢发上来吧。

项目中用到了Timer,毕竟也是第一次用,就自己写点东西总结下吧,当然,写得不好,也请包涵。

Timer是一个时间控制器,一般来说,和TimerTask一起用,由Timer来控制时间,TimerTask来控制执行的任务。

先来看下Timer提供的方法:

cancel():取消当前正在准备的任务,当前正在执行的任务并不会取消,但是,其后的任务不会执行。

purge():删除任务队列中的已取消的任务。

接下来的6个方法,我就按照类别说下了,就提出了3个,另外的3个只是把delay这个参数改成Date就行了,用法并没有太大区别。

void schedule(TimerTask task, long delay) :在delay时间后执行task,只执行一次。

void schedule(TimerTask task, long delay, long period) :在delay时间后执行task,以period时间间隔循环执行task任务。

void scheduleAtFixedRate(TimerTask task, long delay, long period) :同上一个方法一样,也是在delay时间后执行task,以period时间间隔循环执行task任务。

但是,两者还是有区别的,使用schedule()的话,如果在循环中,执行task之前有任务正在执行的话,那task就会被延后执行,而scheduleAtFixedRate()则会一直执行,并不会被其他任务干扰。

同时还要注意一点,TimerTask类似于起一个线程,所以,在通过TimerTask来执行UI方面的操作的话,必须用Handler,我想,很多新手和我一样,知道Android使用线程更新UI需要用Handler,但是在写代码的时候往往都不会注意到,知道程序报错了才反应过来。

一般的使用就是分别实例化Timer和TimerTask,在TimerTask中通过run()来进行相关操作,Timer就使用上面讲的方法来调用TimerTask。

更多相关文章

  1. Android中TextView首行缩进处理办法
  2. Android语音识别的具体实现实例特点分析
  3. MobileMarket开发日记
  4. Android学习笔记——从源码看Handler的处理机制
  5. android-UI组件实例大全(十六)---菜单Menu
  6. Android之Activity生命周期的浅析(二)
  7. android Service服务
  8. Android(安卓)动态壁纸 Livepaper
  9. Android(安卓)四大组件 —— 广播(广播机制解析)

随机推荐

  1. android developer API Guider之user int
  2. 游戏开发基本观
  3. 传统menu的使用方法总结
  4. Android(安卓)Intent 其中一个分析
  5. Android开源项目xUtils HttpUtils模块分
  6. Android(安卓)基础-Activity的使用(二)
  7. 【Android】监听蓝牙状态变化
  8. android support Percent支持库开发
  9. Android异步下载网络图片(其三)
  10. android:Bitmap和Drawable相互转换方法