美文网首页
阅读《Android 避坑指南:实际经历来说说IdleHandl

阅读《Android 避坑指南:实际经历来说说IdleHandl

作者: 普通的程序员 | 来源:发表于2021-03-13 19:41 被阅读0次

    原文地址
    https://mp.weixin.qq.com/s/dh_71i8J5ShpgxgWN5SPEw

    想起了我之前的同事,在做启动优化的时候,靠idlehandler来处理。然后碰到了idlehandler没有触发的情况。当时还不是很懂,只觉得这个前同事牛逼,现在觉得这个前同事真的太牛逼了。

    『当我们在onDraw方法直接或者间接调用invalidate方法,ViewRootImpl会向MessageQueue里面post 一个同步屏障。

    当MessageQueue轮询到这个同步屏障时,会等到Choreographer$FrameDisplayEventReceiver这个异步任务执行之后,才会执行其他任务,即才有可能触发idle。

    但是Choreographer$FrameDisplayEventReceiver这个任务里面又会执行View的onDraw方法,从而形成了一个无限循环。进而,idle永远不会回调。』

    相关文章

      网友评论

          本文标题:阅读《Android 避坑指南:实际经历来说说IdleHandl

          本文链接:https://www.haomeiwen.com/subject/vgezqltx.html