Android性能优化(一)

时间不会辜负每一个平静努力的人!

欢迎来到周建的博客: 共同致力于技术分享与交流

1.布局优化

(1) Android UI 渲染机制

在Android中,系统通过VSYNC 信号触发对 UI 的渲染,其时间间隔为16ms 。这个16ms 就是1000ms 中显示60帧画面的单位时间,即1000/60 ,如果系统每次的渲染时间都保持在16 ms 之内,那么我们看见的UI界面将是非常流畅的,但这也需要将所有程序的逻辑都保持在16ms 内。

(2) 避免过度绘制

过渡绘制会浪费很多的CPU资源,例如系统默认会绘制Activity的背景,如果再给布局绘制了重贴的背景,那么默认Activity的背景就属于无效的过渡绘制。

(3) 优化布局层级

在Android中,系统对View进行测量,布局和绘制时,都是通过对View树的遍历来进行操作的。如果一个View树的高度太高,就会严重影响测量、布局和绘制的速度,因此优化布局的第一个方法就是降低View树的高度。

在早期版本Android中,默认采用线性布局作为XML文件的根布局
在现在的版本中,Google已经使用了相对布局来替代线性布局作为默认的根布局。因为通过扁平的相对布局来降低通过线性布局嵌套所产生布局树的高度,从而提高UI渲染的效率。

(4) 避免嵌套过多无用布局

使用 include 标签重用 Layout
使用 ViewStup 实现View 的延时加载
使用merge 标签减少布局层次

(5) 使用Hierarchy Viewer 观察布局层次

这个工具位于sdk/tools/hierarchyviewer.bat

在Android Studio中如何打开这个工具

工具栏 Tools -> Android -> Android Device Monitor

这里写图片描述

选择 Hierarchy Viewer 即可! 点击应用报名应用报名,查看布局层次。

这里写图片描述