android竞品分析之布局优化

来源:互联网 发布:沈阳办公软件培训班 编辑:程序博客网 时间:2024/04/27 20:03

布局优化

目的:以小的内存代价实现流畅平滑的界面,在列表的组件(ListView,GridView)中的布局优化效果尤为明显。
优化方法:

  • 尽量使用RelativeLayout
  • 对可重用UI组件使用<include/>引用
  • 使用<merge/>标签来减少布局嵌套层次
  • 使用<ViewStub>标签对UI组件进行运行时加载,即延时加载(根据条件确定是否加载),未加载是不占用布局空间和内存空间的。

附:

<include/>的使用方法:

<include android:id="@+id/id名"layout="@layout/引用的布局名"/>

注意:这里是layout,不是android:layout。

<merge/>的使用方法:
将根视图的布局方式用<merge></merge>来代替,如:

<FrameLayout>   <FrameLayout>   </FrameLayout>   <ImageView androidid="@+id/im">   android:layout_width="200dp"   android:layout_height="200dp"   android:src="@drawable/backgroud"   /></FrameLayout>

变为:

<merge>   <FrameLayout>   </FrameLayout>   <ImageView androidid="@+id/im">   android:layout_width="200dp"   android:layout_height="200dp"   android:src="@drawable/backgroud"   /></merge>

<ViewStub/>的使用方法:

   <ViewStub androidid="@+id/stub"   android:layout_width="match_parent"   android:layout_height="match_parent"   android:layout="@layout/要延时加载的UI组件"   />

最后,在java代码中获取ViewStub并调用.inflate()方法或.setVisibility(View.VISIBLE)即可实现加载该UI。
注意:上面两个方法只能调用一次,否则会异常。

0 0
原创粉丝点击