android 在 Activity 的 onCreate 中获取View 的宽高

view 的 post 执行时,首先会判断view 的 mAttatchInfo 是否为空,如果不为空,则将Runnable 添加到mAttachInfo.handler 的 UI线程MessageQueue 中;如果为空,则先将Runnable 暂存在view 的类为HandlerActionQueue的mRunQueue中,在ViewRootImpl 中第一次执行performTransval时执行 dispatchAttachedToWindow ,在这个方法中执行 mRunQueue.executeActions(mAttachInfo.handler),这样就能保证Runnable 运行时获取到获取到view的宽高,因为这个时候首次performTransval已经执行完,首次测量工也会执行完,之后才会执行这个Runnable,所以这个时候能获取到宽高

相关推荐
tangweiguo0305198725 分钟前
Android SSE 流式接收:从手写到框架的进阶之路
android
大尚来也1 小时前
PHP 反序列化漏洞深度解析:从原理利用到 allowed_classes 防御实战
android·开发语言·php
sp42a1 小时前
通过 RootEncoder 进行安卓直播 RTSP 推流
android·推流·rtsp
SY.ZHOU2 小时前
移动端架构体系(一):组件化
android·ios·架构·系统架构
恋猫de小郭3 小时前
Android 17 新适配要求,各大权限进一步收紧,适配难度提升
android·前端·flutter
流星白龙3 小时前
【MySQL】9.MySQL内置函数
android·数据库·mysql
进击的cc3 小时前
Android Kotlin:扩展函数如何优雅封装Android API
android·kotlin
进击的cc3 小时前
Android Kotlin:空安全机制在Android中的实战应用
android·kotlin
没有了遇见5 小时前
Android 实现天猫/京东/抖音/咸鱼/拼多多等商品详情页面智能跳转APP
android
乾坤一气杀6 小时前
Kotlin 协程线程切换原理 —— 以 Dispatchers.IO 为例
android