1. 程式人生 > >Android UI優化—常用UI優化技巧

Android UI優化—常用UI優化技巧

<include>標籤

<include>標籤可以將一個指定的佈局載入到當前佈局中,增加布局的重用,在佈局中的使用方法如下:

<Linearlayout 
            android:layout_width="fill_parent"                              
            android:layout_height="wrap_content" > 
            <include layout="@layout/otherlayout"> 
 </Linearlayout > 

注意點:

1、只支援android:layout_開頭的屬性(id屬性例外)
2、如果包含的佈局檔案的根元素也指定了id屬性,則以<include>指定的為準
3、android:layout_width和android:layout_height必須存在,否則其他android:layout_*形式的屬性無法生效

<merge>標籤

<merge>標籤主要用來進行UI佈局層次優化的,可以刪除多餘的層級。使用方法如下:
在這裡插入圖片描述
注意點:
1、多和<include>標籤使用
2、<merge>標籤僅僅能作為XML佈局的根標籤使用
3、當Inflate以<merge>標籤開頭的佈局檔案時,必須指定一個父ViewGroup,而且必須設定attachToRoot為true

<ViewStub>標籤

<ViewStub>簡介
1、java程式碼中的ViewStub類繼承自View
2、寬/高都為0,本身不參與任何的佈局和繪製
3、相當於一個佔位符,可以做到按需載入(延遲載入)

xml佈局中使用如下:

在這裡插入圖片描述
<ViewStub>標籤的按需載入
方式一:

( (ViewStub) findViewById(R.id.viewstub1)).setVisibility(View.VISIBLE);

方式二:

 View stubView = ((ViewStub) findViewById(R.id.viewstub1)).inflate();

其他UI優化技巧

1、減少View的onDraw()中的複雜性,不在裡面進行記憶體分配
2、儘量使用有參的invalidate()方法
3、儘量利用系統自帶的資源
……