20171126--idleHadnler的理解使用

时间:2023-03-09 03:25:47
20171126--idleHadnler的理解使用

相关参考文献:

http://www.jianshu.com/p/94d6131a53b2

http://bbs.51cto.com/thread-1094228-1.html

https://zhuanlan.zhihu.com/p/30601168

http://www.360doc.com/content/12/0817/11/7891085_230641875.shtml

使用时机:在消息队列消息队列全部处理完成后或者是在阻塞的过程中等待更多的消息的时候调用的,返回值绝对了处理一次后是否保存这个接口。

使用场景:使用IdleHandler的好处在于可以不用指定一个将来时间,只要线程空闲了,就可以执行它指定的操作。比较适合那种需要在将来执行操作,但是又不知道需要指定多少延迟时间的操作。

使用方法:20171126--idleHadnler的理解使用

使用非常简单,只要使用Looper.myQueue().addIdleHandler(xxx)就可以了。这样,在线程空闲,也就是activity创建完毕之后,它会执行queueIdle里面的代码。 返回值的含义在代码里面注释说明了,

true,表示needKeep,也就是保留,当queueIdle执行完毕之后,不会移除这个IdleHandler,会循环反复执行

false,表示这个IdleHandler不需要保留,也就是只需要执行一遍。

3.