布局优化
--------
1. setContentView调用花费的时间取决于布局的复杂性:资源数据越大解析越慢,而更多的类也让布局实例化变慢
2. 调用setContentView()几乎占用了从onCreate()开始到onResume()结束之间所有时间的99%
3. 要节约时间,大多数基于同样的原则:减少创建对象的数量。消除不必要的对象,或者推迟创建对象
4. 采用嵌套的线性布局会深化布局层次,从而导致布局和按键处理变慢。
5. 合并布局。另一种减少布局层次的技巧是用<merge />标签来合并布局。
Android布局的父视图是一个FrameLayou,如果你的布局的最上层也是一个FrameLayout,就可以用<merge />标签代替它,减少一层布局
6. 重用布局,Android支持在XML布局中使用<include /> 标签,用来包含另一个布局。
<include /> 标签可用于两个目的:
1) 多次使用相同的布局
2) 布局有一个通用的组成部分,或有部分依赖于设置配置(例如,屏幕方向纵向或横向)
7. ViewStub
推迟初始化是个方便的技术,可以推迟实例化,提高性能,还可能会节省内存(如果对象从未创建过)
ViewStub是轻量级且不可见的视图,当需要时,在自己的布局中可以用它来推迟展开布局。
下次遇到相关代码后,将代码整理在这里
布局工具
--------
1. hierarchyviewer 用来查看布局的
2. layoutopt 用于检测布局文件质量的