一、Android屏幕刷新机制
1、三级缓存
- Activity
- View
- Window (PhoneWindow)
Activity本身是没办法处理显示什么控件(view)的,是通过PhoneWindow进行显示的 - Choreographer:协调动画(animations)、输入(input)、绘制(drawing)三个UI相关的操作
- ViewRootImpl
- CPU
- GPU
- VSYNC:提升了渲染任务的优先级,优化了渲染性能,可有效的减少了丢帧、卡顿等问题。
- 三重缓存机制:利用 CPU/GPU 的空闲等待时间提前准备好数据,有效的提升了渲染性能
- 丢帧/卡顿:等到第二帧显示的时候,只能使用上一帧的内容显示
- 同步屏障消息: 挡住普通消息来保证异步消息优先处理的
2、surfaceflinger surface
二、页面性能统计实现
指标
1、首次内容渲染时间(FCP)
2、首次有效渲染时间(FMP)
3、可交互时间(TTI)
4、应用冷启动时间
5、每帧处理时间
三、app应该如何去优化