使用layoutopt【lint.bat】进行布局优化
Android 开发中,不良的布局文件【比如:不必要的嵌套,过多的视图,嵌套太深】,很容易引起系统开销过大、程序不稳定等等。
在window平台下,可以通过layoutopt.bat快速地使用layoutopt分析功能。该bat文件位于android-sdk-windows\tools目录下。
sdk 16下layoutopt.bat改名为lint.bat了
用法:
1.cmd进入tools目录下
2.输入lint+xml的完整路径【如图】
3.自动输出结果
例如:
主要有3种类型需要注意:
1.无用的布局
如上图 This LinearLayout layout or its LinearLayout parent is useless
2.视图过多,超过80多个
每个视图都会消耗内存,在一个布局中布置太多的视图,布局会占用过多的内存,假设一个布局包含超过80个视图,layoutopt可能会给出下面这样的建议:
This layout has too many views: 83 views, it should have <= 80!
3.布局嵌套太多,超过10级
布局不应该有太多的嵌套,layoutopt 建议布局保持在10级以内
This layout has too many nested layouts: 12 levels, it should have <= 10!
其实总结起来就两点:深度和广度上都尽量的简单
Layoutopt是一个快速易用的布局分析工具,找出低效和无用的布局,你要做的是判断是否采纳layoutopt给出的优化建议,虽然采纳建议作出修改不会立即大幅改善 性能,但没有理由需要复杂的布局拖慢整个应用程序的速度,并且后期的维护难度也很大。简单布局不仅简化了开发周期,还可以减少测试和维护的工作量。
其他建议:
尽量少用inflate加载布局:通过inflate在Activity中布局是个有性能消耗的过程,每增加一个嵌套的布局和视图都会对应用的性能造成很大的影响。