在现在的开发环境中,很容易让人忘了对布局进行优化,我们只需要在IDE中调整调整,然后再setContentView()一下就行,那么让我们来看看在这个过程中他做了什么:
1.读取文件
2.解析数据
3.展开布局
如果布局结构复杂的话,花费的时间就会越长,那么我们不妨来对结构进行写简单调整:
一、使用相对布局
作为一个开发人员我们可能首先接触到的应该是LinearLayout,因为他是个默认布局,这个布局用起来也比较简单。用久了我们会发现,稍微复制一点的结构用linearlayout的话,会嵌套的比较深,层次结构比较复杂,这时我们不妨来用用relativelayout
二、合并布局
一般是对于顶层元素为framelayout来说的,因为Activity的内容视图就是一个framelayout,我们不妨用hierarchyviewer来查看一下,如果我们直接写framelayout会发现顶层还有一个framelayout如果用<merge>表情来替代framelayout的话会发现少了一个framelayout,这样就能起到一个减少层次结构的作用。
三 、重用布局
说到重用布局那当然是<include>标签了,很多时候用这个有两个目的,1在一个布局中引用多次,2很多文件公用一个布局,包含的布局是动态处理的,并在编译时完成。
四、ViewStub
这是一个推迟初始化的技术,他不但可以提高性能还可以节省内存,有些复杂的布局展开需要花费时间,不过有时候此时是不必要展开的,此时我们可以考虑用ViewStub来选择恰当的时间来对其进行展开,他有两种展开方式
1.viewstub.inflate()
2.用setvisibility()来对其展开
各有各的好处,适合用哪一个就用哪一个。