Android 布局優(yōu)化建議:
1、合理選擇控件容器
- LinearyLayout 易用,效率高,表達(dá)能力有限。RelativeLayout 復(fù)雜,表達(dá)能力強,復(fù)雜界面建議用RelativeLayout;
- ConstraintLayout可以進(jìn)一步減少布局層次,可學(xué)習(xí)使用
2、 去掉window的默認(rèn)背景
- 當(dāng)我們使用了Android自帶的一些主題時,window會被默認(rèn)添加一個純色的背景,這個背景是被DecorView持有的。當(dāng)我們自定義布局時又添加了一張背景圖或者設(shè)置背景色,那么DecorView的background此時對我們來說是無用的,但是它會產(chǎn)生一次Overdraw,帶來回執(zhí)性能損耗。
3、去掉其他不必要的背景
- 過度繪制的主要原因,減少背景疊加,能不用背景絕對不用。子控件盡量復(fù)用父控件的背景。
4、ViewStub
- 一句話總結(jié):高效占位符。
5、Merge
- 不解釋,減少一個層級。復(fù)雜布局效率提升杠杠的。常配合include標(biāo)簽使用。
6、慎用Alpha
- 做Alpha轉(zhuǎn)化就需要對當(dāng)前View繪制兩遍,耗時會翻倍,所以Alpha還是慎用。
7、避免過度設(shè)計
- 在復(fù)雜的業(yè)務(wù)邏輯與簡單易用的界面展現(xiàn)中做一個平衡。