Android UI優化—常用UI優化技巧
阿新 • • 發佈:2018-12-24
<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、儘量利用系統自帶的資源
……