Android 应用卡顿的常见原因以及Vsync原理

应用UI卡顿常见原因主要在以下几个方面:

1.人为在UI线程中做轻微耗时操作,导致UI线程卡顿;

2.布局Layout过于复杂,无法在16ms内完成渲染;

3.同一时间动画执行的次数过多,导致CPU或GPU负载过重;

4.View过度绘制,导致某些像素在同一帧时间内被绘制多次,从而使CPU或GPU负载过重;

5.View频繁的触发measure、layout,导致measure、layout累计耗时过多及整个View频繁的重新渲染;

6.内存频繁触发GC过多(同一帧中频繁创建内存),导致暂时阻塞渲染操作;

7.冗余资源及逻辑等导致加载和执行缓慢;

8.臭名昭著的ANR;

Vsync机制:

通过Vsync信号来同步UI绘制和动画,使得它们可以获得一个达到60fps的固定的帧率;

为了理解App是如何进行渲染的,我们必须了解手机硬件是如何工作,那么就必须理解什么是VSYNC。

在讲解VSYNC之前,我们需要了解两个相关的概念:

Refresh Rate:代表了屏幕在一秒内刷新屏幕的次数,这取决于硬件的固定参数,例如60Hz。

Frame Rate:代表了GPU在一秒内绘制操作的帧数,例如30fps,60fps。

GPU会获取图形数据进行渲染,然后显示器硬件负责把渲染后的内容呈现到屏幕上,他们两者不停的进行协作。




 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值