1. 程式人生 > >如何避免過度繪製

如何避免過度繪製

1. 儘量多使用RelativeLayout和LinearLayout, 不要使用絕對佈局AbsoluteLayout,

1. 在佈局層次一樣的情況下, 建議使用LinearLayout代替RelativeLayout, 因為LinearLayout效能要稍高一點.
2. 在完成相對較複雜的佈局時,建議使用RelativeLayout,RelativeLayout可以簡單實現LinearLayout巢狀才能實現的佈局.

2. 將可複用的元件抽取出來並通過include標籤使用;
3. 使用ViewStub標籤來載入一些不常用的佈局;
4. 動態地inflation view效能要比SetVisiblity效能要好.當然用VIewStub

是最好的選擇.
5. 使用merge標籤減少佈局的巢狀層次
6. 去掉多餘的背景顏色

7. 對於有多層背景顏色的Layout來說,留最上面一層的顏色即可,其他底層的顏色都可以去掉
8. 對於使用Selector當背景的Layout(比如ListView的Item,會使用Selector來標記點選,選擇等不同的狀態),可以將normal狀態的color設定為”@android:color/transparent”,來解決對應的問題

9. 內嵌使用包含layout_weight屬性的LinearLayout會在繪製時花費昂貴的系統資源,因為每一個子元件都需要被測量兩次。在使用ListView與GridView的時候,這個問題顯的尤其重要,因為子元件會重複被建立.所以要儘量避免使用Layout_weight
10. 使得Layout寬而淺,而不是窄而深(在Hierarchy Viewer

的Tree視圖裡面體現)