提升UI加载速度的几点思考
# 背景
# AsyncLayoutInflater
AsyncLayoutInflater 代码不多, 原理也很简单:
- 创建 AsyncLayoutInflater 时异步线程启动, 然后被阻塞队列 take 方法阻塞
- 通过 inflate 方法传入构造 View 的信息与回调对象, 然后从对象池中取出 InflateRequest 对象进行信息更新, 然后放入阻塞队列中
- 阻塞队列 take 获取到元素, 异步线程开始执行 View 的创建, 并在执行完成后发送消息给 Handler
- Handler 回调主线程, 执行 OnInflateFinishedListener 回调对象, 然后回收 InflateRequest 对象
注意事项
# 链接
上次更新: 2025/10/09, 23:53:03