布局优化
如何进行布局优化?
首先,尽量减少布局文件的层级就是布局优化的主要思想。只要布局的层级降下来了,系统绘制的工作量就会变的比原来少,那么字然程序的性能自然就能够提高了。主要有以下三点。
一、删除布局中无用的控件和层级,有选择性地使用性能比较低的ViewGroup。
这个要根据具体的业务场景来进行灵活的选择。例如:如果布局中可以使用线性布局也可以使用相对布局的时候,那就采用线性布局,因为线性布局与相对布局比较来说,相对布局的功能是比较复杂的,因此需要绘制布局的时间也会更长,意味着占用CPU的时间也会更多。所以在保证显示效果相差不多的情况下,优先考虑简单的布局来完成。FrameLayout也是一种简单有效的布局,与线性布局都是比较常用的。但是这仅仅是针对于单个布局而言,如果要设计的界面是比较复杂的,需要反复嵌套线性布局才能实现的话,那就使用相对布局会好一点,因为布局的嵌套意味着层级增加,同样也会使到程序性能下降。
二、采用 <include> 、<merge> 标签以及ViewStub
<inclue>标签主要用于布局的重用,指定一个布局文件加载到当前的布局文件中。
同时,<inclue>标签只支持以android:layout_开头的属性,除了android:id例外。如果<inclue>指定了id,而被包含的布局文件的根属性也指定了id,就会以<inclue>中的id为准而且需要注意的是,在使用android:layout_开头的属性之前,需要先指定宽高。
例如:
&l