view 的 post 执行时,首先会判断view 的 mAttatchInfo 是否为空,如果不为空,则将Runnable 添加到mAttachInfo.handler 的 UI线程MessageQueue 中;如果为空,则先将Runnable 暂存在view 的类为HandlerActionQueue的mRunQueue中,在ViewRootImpl 中第一次执行performTransval时执行 dispatchAttachedToWindow ,在这个方法中执行 mRunQueue.executeActions(mAttachInfo.handler),这样就能保证Runnable 运行时获取到获取到view的宽高,因为这个时候首次performTransval已经执行完,首次测量工也会执行完,之后才会执行这个Runnable,所以这个时候能获取到宽高
相关推荐
无极程序员26 分钟前
PHP常量萌面小侠Plus2 小时前
Android笔记(三十三):封装设备性能级别判断工具——低端机还是高端机慢慢成长的码农2 小时前
Android Profiler 内存分析大风起兮云飞扬丶2 小时前
Android——多线程、线程通信、handler机制L72562 小时前
Android的Handler清风徐来辽2 小时前
Android HandlerThread 基础HerayChen3 小时前
HbuildderX运行到手机或模拟器的Android App基座识别不到设备 mac顾北川_野3 小时前
Android 手机设备的OEM-unlock解锁 和 adb push文件hairenjing11233 小时前
在 Android 手机上从SD 卡恢复数据的 6 个有效应用程序小黄人软件3 小时前
android浏览器源码 可输入地址或关键词搜索 android studio 2024 可开发可改地址