1. 首页
  2. 移动开发
  3. Android
  4. Handler实现倒计时功能

Handler实现倒计时功能

上传者: 2021-07-26 15:37:03上传 PDF文件 113.98 KB 热度 32次

总结:从源码分析,post与sendMessage本质是一样的,最后返回的都是sendMessageDelayed;post()通过调用getPostMessage()方法将Runnable赋值到Message的callback变量中;消息处理:Looper从MessageQueue中取出Message之后,会调用dispatchMessage方法进行处理;dispatchMessage两种情况1、如果Message的callback不为null,一般为通过post方式,会直接执行Runnable的run()。因此这里的Runnable实际上就是一个回调接口,跟线程Thread没有任何关系;2、如果Message的callback为null,这种一般为sendMessage的方式,则会调用handlerMessage()方法进行处理;ThreadLocal是一个能创建线程局部变量的类。通过ThreadLocal提供的get和set方法,可以为每一个使用该变量的线程保存一份数据副本,且线程之间是不能相互访问,从而达到变量在线程间隔离、封闭的效果。

用户评论