简述IdleHandler是什么 ?
参考答案:
IdleHandler是Handler提供的一种充分利用CPU的机制。它主要在MessageQueue出现空闲的时候被执行,这种空闲状态有两种场景:一是循环拿到的Message为空,二是Message是一个延时的消息。IdleHandler运行在Looper所在的线程中,当MessageQueue中没有Message要处理或者要处理的Message都是延时任务时,IdleHandler会得到执行。这种特性对于判断UI是否绘制完成特别有用,可以避免在UI绘制的时候进行耗时操作,从而影响UI绘制效率。然而,IdleHandler的处理时机并不可控,如果MessageQueue一直有待处理的消息,那么IdleHandler的执行时机可能会很靠后,因此,是否使用IdleHandler需要根据具体业务来决定。