昨天确定了启动时,inflate耗时太多,当时不知道怎么回事,去Trinea的博客一逛,发现原来是需要进行layout优化,跟着他们的步伐,做了下面的修改。
1.据说在lint前是一款layout工具,用于测试布局中不合理的地方。
可以看到有如下一些列:
.1 自定义view中在draw函数中分配了对象,分配对象会耗时,建议在初始化完成。
.2 有一层线性布局没有使用
2.对于布局viewgroup的使用,有建议使用层级只有一层的RelativeLayout而不是LinearLayout,嵌套多个使用layout_weight属性的LinearLayout实例会花费更大的代价,因为每一个子布局都要测量两次。
而对自己的布局,当初考虑到线性布局可以自动缩放,适配各种机型,还用了layout_weight属性,现在知道是个坑了。
以后布局还是走,快速开发,后期优化的路线吧。
3.Hierarchy View
这里采用线性布局,层级变深,效果不太好,改用相对布局
参考
http://www.trinea.cn/android/layout-performance/
http://mobile.51cto.com/abased-410852.htm
http://www.cnblogs.com/purediy/p/3232996.html