阅读背景:

源码解析Activity生命周期onResume中Handler.Post(Runnable)和View.Post(Runnable)的UI操纵效果区别

来源:互联网 

一般需求中会出现在Activity启动中需要获取Ui控件相关大小或者在界面绘制完成之后刷新数据,我们都知道在UI绘制完成之后,时机最好,不会阻塞主线程导致卡顿或者UI控件参数获取失败。 也许大家使用过或 知道Handler(MainLooper).Post(Runnable)和View.Post(Runnable)都是把Runnable封装成Message再 push到主线成中looper中MessageQueue中,会发现在Activity的生命周期中执行这两种方式效果不同,前者不满足我们的需求,而后者却能做到,但这是为啥,有没有深入分析,本文就从Activity启动流程以及UI刷新和绘制流程原理以及消息循环机制、同步障碍机制来剖析。一般需求中会出现在Activity启动中需要获取Ui控件相关大小或者在界面绘制完成之后




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: