Handler.removeMessages的作用,有时候为什么一定要先remove一下呢
2015-05-27 17:06
183 查看
removeMessages会将handler对应message queue里的消息清空,如果带了int参数则是对应的消息清空。队列里面没有消息则handler会不工作,但不表示handler会停止。当队列中有新的消息进来以后handler还是会处理。
我的理解:
1、这个方法使用的前提是之前调用过sendEmptyMessageDelayed(0, time),意思是延迟time执行handler中msg.what=0的方法;
2、在延迟时间未到的前提下,执行removeMessages(0),则上面的handler中msg.what=0的方法取消执行;
3、在延迟时间已到,handler中msg.what=0的方法已执行,再执行removeMessages(0),不起作用。
我的理解:
1、这个方法使用的前提是之前调用过sendEmptyMessageDelayed(0, time),意思是延迟time执行handler中msg.what=0的方法;
2、在延迟时间未到的前提下,执行removeMessages(0),则上面的handler中msg.what=0的方法取消执行;
3、在延迟时间已到,handler中msg.what=0的方法已执行,再执行removeMessages(0),不起作用。
相关文章推荐
- Android Handler.removeCallbacksAndMessages(null)的作用
- 实习入职第二天:Handler.removeMessages的作用
- 我的Android进阶之旅------>Handlerr.removeCallbacksAndMessages(null)的作用
- Handler.removeMessages的作用
- Handler.removeMessages的作用
- 放心使用Handler的removeCallbacksAndMessages
- Handler的removeMessages方法导致postDelayed的runnable没有执行的原因
- 为什么 在springmvc.xml 中 配置了<mvc:default-servlet-handler /> 一定要配置<mvc:annotation-driven >?
- 集合操作的ConcurrentModificationException异常分析,为什么有时候循环remove不会异常?Iterator方式也会异常吗?
- handler.removeCallbacksAndMessages(null)
- 为什么 在springmvc.xml 中 配置了<mvc:default-servlet-handler /> 一定要配置<mvc:annotation-driven >?
- Android Handler handler.removeCallbacksAndMessages(null)方法(个人)
- Android Handler removeMessages引发postDelayed失效的问题
- android broadcastreceiver 里的handler Handler.removeMessages(1);方法无法删除消息
- 为什么 在springmvc.xml 中 配置了<mvc:default-servlet-handler /> 一定要配置<mvc:annotation-driven >
- DNS的作用是什么?为什么一定要配置DNS才能上网
- handler中的handler.removecallbacks和handler.removemessages的用法
- Android Handler、非静态、匿名内部类的内存泄漏,用静态内部类+弱引用或handler.removeCallbackAndMessages(null)解决
- 为什么覆写equals的时候一定要覆写hashCode
- <转>Class.forName的作用以及为什么要用它