Android布局优化

        在很多开发产品的公司都对技术追求精益求精,对自己公司的产品更是苛刻的要求,这样就要求开发者不断的提高自己的技术,优化App性能。   今天一起来学习如何对布局性能优化。

        布局优化,系统在渲染UI界面的时候将消耗大量的资源,一个好的UI不仅具有良好的视觉效果,更应该具有良好的使用体验,因此布局优化就显得非常重要。

        1、Android UI渲染机制

                   人眼所感觉的流畅画面,需要画面的帧数达到40帧每秒到60帧每秒,相信玩儿过PC游戏的朋友应该对帧数的概念非常清楚,最贱fps大概在60fps左右,这也是评价一个显卡性能高低的标准之一。

                   在Android中,系统通过 VSYNC 型号触发对UI的渲染,重绘,其间隔时间是16ms。这个16mx其实就是1000ms中显示60帧画面的单位时间,即1000/60 。如果系统每次渲染的时间都保持在16ms 之内,那么我们看到的UI界面将是非常流畅的,但这也就需要将所有程序的逻辑都保证在16ms内。如果不能再16ms内完成绘制,那么就会造成丢帧现象,即当前该绘制的帧被未完成的逻辑阻塞,列入一次绘制任务耗时20ms,那么在16ms系统发出 VSYNC信号时就无法绘制,该帧就被丢弃,当代下次信号才开始绘制,导致16*2ms 内都显示同一帧画面,这就是画面卡顿的原因。

                  Android系统提供了检测UI渲染时间的工具,打开 “开发者选项” ,选择 “Profile GPU Rendering”,并选中 “On screen as bars”  的选项,这时候在屏幕上将显示一些条形图,(已小米手机为例打开方式如下图)。


                 每一条柱状线都包含三部分,蓝色代表测量绘制 Display List 时间,红色代表 OPenGL 渲染 Display List  所需要的时间,黄色代表 CPU等待 GPU处理的时间。中间的绿色横线代表 VSYNC 时间 16ms, 需要尽量将所有条形图都控制在这条绿线之下。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值