【文件属性】:
文件名称:说说Android的UI刷新机制的实现
文件大小:231KB
文件格式:PDF
更新时间:2021-01-20 08:38:12
id roi
本文主要解决以下几个问题:
我们都知道Android的刷新频率是60帧/秒,这是不是意味着每隔16ms就会调用一次onDraw方法?
如果界面不需要重绘,那么16ms到后还会刷新屏幕吗?
我们调用invalidate()之后会马上进行屏幕刷新吗?
我们说丢帧是因为主线程做了耗时操作,为什么主线程做了耗时操作就会引起丢帧?
如果在屏幕快要刷新的时候才去OnDraw()绘制,会丢帧吗?
好了,带着以上问题,我们进入源码来找寻答案。
一、屏幕绘制流程
屏幕绘制机制的基本原理可以概括如下:
整个屏幕绘制的基本流程是:
应用向系统服务申请buffer
系统服务返回buff