view 的 post 执行时,首先会判断view 的 mAttatchInfo 是否为空,如果不为空,则将Runnable 添加到mAttachInfo.handler 的 UI线程MessageQueue 中;如果为空,则先将Runnable 暂存在view 的类为HandlerActionQueue的mRunQueue中,在ViewRootImpl 中第一次执行performTransval时执行 dispatchAttachedToWindow ,在这个方法中执行 mRunQueue.executeActions(mAttachInfo.handler),这样就能保证Runnable 运行时获取到获取到view的宽高,因为这个时候首次performTransval已经执行完,首次测量工也会执行完,之后才会执行这个Runnable,所以这个时候能获取到宽高
相关推荐
Doro再努力5 小时前
【Linux操作系统10】Makefile深度解析:从依赖推导到有效编译Daniel李华5 小时前
echarts使用案例做人不要太理性6 小时前
CANN Runtime 运行时组件深度解析:任务调度机制、存储管理策略与维测体系构建逻辑我命由我123456 小时前
Android 广播 - 静态注册与动态注册对广播接收器实例创建的影响朗迹 - 张伟7 小时前
Tauri2 导出 Android 详细教程lpruoyu8 小时前
【Android第一行代码学习笔记】Android架构_四大组件_权限_持久化_通知_异步_服务独自破碎E8 小时前
【BISHI15】小红的夹吃棋李堇12 小时前
android滚动列表VerticalRollingTextViewlxysbly13 小时前
n64模拟器安卓版带金手指2026游戏开发爱好者816 小时前
日常开发与测试的 App 测试方法、查看设备状态、实时日志、应用数据