Skip to content
阅读进度

AsyncLayoutInflater 为什么能优化 会改变生命周期吗? ​

返回 性能与稳定性 目录

标准回答 ​

它把符合条件的布局创建工作放到后台执行,减少主线程被 Inflate 占用的时间;它不会重排 Android 规定的 Activity 生命周期。页面可能先进入 resumed,而内容布局稍后才创建并在主线程接入,因此内容显示时间与生命周期回调完成时间会分离。(AsyncLayoutInflater API)

机制解释 ​

不是所有 View 都能后台创建。构造中依赖线程 Looper、创建 Handler 或非线程安全行为,都可能使异步创建不适用并回退主线程。回调默认路径与显式 callback Executor 的行为也需按所用版本区分;真正操作页面和挂载 View 必须回到主线程。

延伸追问 ​

布局为什么一块块出现?可能分批 inflate 和挂载、数据分批绑定,或占位内容先显示。可先准备整体结构,再一次挂载,或定义明确的骨架屏策略;并在回调时检查页面是否已销毁、当前请求是否已过期。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。