转自:http://blog.csdn.net/xiabo851205/article/details/7991529

    

这是一种可以创建多线程消息的函数
使用方法:
1,首先创建一个Handler对象
Handler handler=new Handler();
2,然后创建一个Runnable对象
Runnable runnable=new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
//要做的事情,这里再次调用此Runnable对象,以实现每两秒实现一次的定时器操作
handler.postDelayed(this, 2000);
}
};
3,使用PostDelayed方法,两秒后调用此Runnable对象
handler.postDelayed(runnable, 2000);
实际上也就实现了一个2s的一个定时器
4,如果想要关闭此定时器,可以这样操作
handler.removeCallbacks(runnable); 当然,你也可以做一个闹钟提醒延时的函数试试,比如,先用MediaPlayer播放闹钟声音,
如果不想起,被停止播放之后,下次就5分钟后再播放,再被停止的话,下次就4分钟后播放,
………………
只要更改延时的时间就可以实现了,用一个static对象的话会比较容易操作。
是可以异步效果,但Runnable的执行是在Handler对象所在的线程
如果其所在的线程是UI线程的话,Runnable中还是不能执行耗时操作,不然会ANR
前几天我们自己的设备很卡,卡到跳转界面都需要不到1秒的时间,我就把跳转的动作放在Runnable里边,外边加上弹出进度提示框

最新文章

  1. SQL Server内存遭遇操作系统进程压榨案例
  2. vs中使用git
  3. android中导入低版本project可能会遇到的编译问题(转自: Victor@Beijing)
  4. Java NIO 之缓冲区
  5. DOM对象和JQuery对象
  6. Bootstrap页面布局5 - 响应式布局(格式)
  7. C++中的::operator new, ::operator delete
  8. microsoft Ebook
  9. sql 中 case when 语法(转)
  10. Java三大特征之多态(三)
  11. Java 序列化 transient关键字
  12. 管理维护Replica Sets
  13. FaceRank-人脸打分基于 TensorFlow 的 CNN 模型
  14. centos7 下搭建hadoop2.9 分布式集群
  15. SQL之NULL值的几种处理方式
  16. 项目实战3—实现基于Keepalived+LVS的高可用集群网站架构
  17. ActiveMQ常见消息类型
  18. GIEC2019第六届全球互联网经济大会北京站震撼来袭!
  19. cf1000D Yet Another Problem On a Subsequence (dp)
  20. PNG文件结构

热门文章

  1. Webstorm上面通过babel将es6转化为es5
  2. mysql 同样内容的字段合并为一条的方法
  3. JAVASE学习笔记:第八章 经常使用类Util工具包之日期类、数字类
  4. DW 表格与表单
  5. 数据结构与算法之贪心算法 C++实现
  6. ViewPagerIndicator 取代TabHost,实现滑动tab,引导页等效果
  7. java工具类(四)之实现日期随意跳转
  8. 解决编译twrp3.0.3遇到的问题
  9. Linux下VLAN功能的实现 (转)
  10. const *char p和char const *p