应用程序的卡顿

2016-12-01  本文已影响33人  IvanHung

一、卡顿原理

1、应用程序卡不卡顿,指的是APP的流畅度。手机每秒钟显示60次画面(单位fps,Frames Per Second,每秒传输帧数),才能让人觉得流畅,而对于电影来说,24fps的速度就够了。换句话说,手机屏幕的刷新率一般为60Hz。

2、垂直同步:为了让系统绘制UI的频率与屏幕硬件的刷新率一致,Android的绘制系统引入了VSYNC(垂直同步)的概念。在屏幕刷新率为60Hz的手机上,Android系统会每隔1/60秒发送一个VSYNC信号,当绘制模块接受到信号后,就会将已经绘制完成的画面发送到屏幕上。如果每一帧的绘制周期(绘制一帧所需要的CPU耗时+GPU耗时)都小于1/60秒,就能够保证屏幕每次刷新都能及时的将最新的内容投放到屏幕上。否则,就会造成卡顿。

卡顿图示

二、过度绘制

1、过度绘制:过度绘制是造成APP卡顿的其中一个原因。假设有一个白色的界面,里面有一个蓝色的按钮。显卡(GPU)在画这个界面的时候,先画白色背景,再画蓝色按钮。但是,如果你的白色背景的后面,又有一个红色背景,那么显卡就得在画白色背景之前,画一遍红色背景。红色背景对用户来说是看不到的,但是对显卡来说就是一个额外的负担。这就是过度绘制。

2、在Android上打开开发者选项,可以查看过度绘制。如果应用界面蓝、绿色较多,则基本没有过度绘制;如果满屏红色的话,流畅度就很糟糕了。

3、在Android上打开开发者选项,可以查看刷新一帧的速度。界面中的绿线以下代表良好的速度,超过绿线则有卡顿。

——部分内容整理自网络——

上一篇 下一篇

猜你喜欢

热点阅读