android layout优化

1.尽量不要使用linelayout,使用relativelayout替换。android:layout_alignWithParentIfMissing只对relativelayout有用,如果那个视图设置为gone,这个属性将按照父视图进行调整。
2.对于使用adapter的控件,如list,使用递归太深的布局,会严重影响性能。
3.对于textview和imageview组成的layout,直接使用textview替换(drawableTop类似属性)。
4.对于父layout是FrameLayout的,如果子layout也是FrameLayout,可以将FrameLayout替换为merge,这样可以减少一层递归深度。
<?xml version="1.0" encoding="utf-8"?>
<!--<FrameLayout-->
<!--  xmlns:android="http://schemas.android.com/apk/res/android"-->
<!--  android:layout_width="fill_parent"-->
<!--  android:layout_height="fill_parent">-->
<!--  	<ListView android:id="@+id/list"-->
<!--  			android:layout_width="fill_parent"-->
<!--  			android:layout_height="fill_parent"/>-->
<!--    <TextView android:id="@+id/no_item_text"-->
<!--  			android:layout_width="fill_parent"-->
<!--  			android:layout_height="fill_parent"-->
<!--  			android:gravity="center"-->
<!--  			android:visibility="gone"/>-->
<!--</FrameLayout>-->
<merge xmlns:android="http://schemas.android.com/apk/res/android">
  	<ListView android:id="@+id/list"
  			android:layout_width="fill_parent"
  			android:layout_height="fill_parent"/>
    <TextView android:id="@+id/no_item_text"
  			android:layout_width="fill_parent"
  			android:layout_height="fill_parent"
  			android:gravity="center"
  			android:visibility="gone"/>
</merge>

<?xml version="1.0" encoding="utf-8"?>
<!--<LinearLayout-->
<!--  xmlns:android="http://schemas.android.com/apk/res/android"-->
<!--  android:orientation="vertical"-->
<!--  android:layout_width="fill_parent"-->
<!--  android:layout_height="fill_parent">-->
<!--  -->
<!--  <ImageView android:id="@+id/softicon"-->
<!--  			 android:layout_width="wrap_content"-->
<!--  			 android:layout_height="wrap_content"-->
<!--  			 android:layout_marginTop="10dip"-->
<!--  			 android:layout_gravity="center"/>-->
  <TextView  
  		xmlns:android="http://schemas.android.com/apk/res/android"
  		android:id="@+id/softname"
  		android:layout_width="wrap_content"
  	    android:layout_height="wrap_content"
  	    android:layout_marginBottom="10dip"
  	    android:layout_gravity="center"
  	    android:gravity="center"
  	    android:drawableTop="@drawable/icon"/>
<!--</LinearLayout>-->

你可能感兴趣的:(android)