浅谈Android的屏幕刷新

我们做安卓的都基本听说过16.6ms的手机刷新机制,那么这个16.6ms是怎么来的呢?其实是因为当时安卓主流手机的屏幕刷新屏幕是60HZ,60Hz代表1s中,手机的屏幕会刷新60次,平均每一次刷新时间是   1s/60 = 16.66ms,但是到2020年,市场上出现了90HZ120HZ的手机了,所以说16.6ms只是大部分手机的一帧的刷新时间。

具体工作流程如下: 1. 应用程序调用invalidate()方法请求重绘界面。 2. Android系统接收到这个请求后,会在合适的时候调用应用程序的draw()方法,让其把新的界面内容绘制到一个Bitmap对象中。 3. 绘制完成后,应用程序会调用postInvalidate()方法,告诉系统界面内容已经准备好,可以显示了。 4. 在VSync信号到来的时候,Surface Flinger会调用Screen的swapBuffers()方法,把新的界面内容从Bitmap对象中拷贝到屏幕上,并且把旧的界面内容从屏幕上移除。 这样,用户就能看到新的界面内容了。这个过程会不断重复,以保证界面内容的及时更新。 注意:屏幕刷新率通常是60Hz,也就是说每秒钟屏幕会刷新60次。如果应用程序的界面更新速度超过这个频率,那么超出的部分将会被忽略,因为屏幕无法及时显示出来。这就是所谓的“丢帧”现象。反之,如果应用程序的界面更新速度低于这个频率,那么用户可能会感觉到界面卡顿。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值