Android性能优化——Layout的优化

来源:互联网 发布:上海交通大学学报知乎 编辑:程序博客网 时间:2024/06/05 02:55

Android开发一般使用xml文件进行布局,在Activity的onCreate方法中调用setContentView(layoutId),实现页面的绘制,如果Layout文件布置不合理就会可能造成加载缓慢和过度绘制。
加载缓慢是因为布局嵌套太多,层级太深,导致xml文件解析速度过慢。如果容器选用不当,会导致多次计算子控件的位置而耗费时间。那如何解决以上问题呢?
1、Android为我们提供了四个标签来优化布局:merge、 include、ViewStub、 requestFocus。
2、合理利用LinearLayout、RelativeLayout、FrameLayout以及最新推出的PercentRelativeLayout不但可以减少嵌套,还可以解决适配问题。
merge:解决布局嵌套问题
include: 引入布局文件,可以使xml文件复用,使用不当会造成嵌套,但与merge配合可以消除该不利条件
ViewStub:与include类似,也是引入布局文件,但不会立即实例化,因此不占用空间,当执行ViewStub.inflate()时,才会将引入的布局实例化,这样就可以在需要显示该布局是再实例化。ViewStub只能inflate()一次,之后ViewStub对象会被置为空,若需再次改变其显示状态,则需要利用setVisiblity();
requestFocus:指定屏幕内的焦点View,View有时需要添加(android:focusable=”true”;android:focusableInTouchMode=”true”)

0 0
原创粉丝点击