Android系統有提供超過70多種標準的View,例如TextView,ImageView,Button等等。在某些時候,這些標準的View無法滿足我們的需要,那么就需要我們自己來實現一個View,這節會介紹如何優化自定義View的性能。
通常來說,針對自定義View,我們可能犯下面三個錯誤:
Useless calls to onDraw():我們知道調用View.invalidate()會觸發View的重繪,有兩個原則需要遵守,第1個是僅僅在View的內容發生改變的時候才去觸發invalidate方法,第2個是盡量使用ClipRect等方法來提高繪制的性能。
Useless pixels:減少繪制時不必要的繪制元素,對于那些不可見的元素,我們需要盡量避免重繪。
Wasted CPU cycles:對于不在屏幕上的元素,可以使用Canvas.quickReject把他們給剔除,避免浪費CPU資源。另外盡量使用GPU來進行UI的渲染,這樣能夠極大的提高程序的整體表現性能。
最后請時刻牢記,盡量提高View的繪制性能,這樣才能保證界面的刷新幀率盡量的高。
使用訣竅:
1、不要繪制任何不必要的內容;
2、不要使用非硬件加速繪制的方法;
3、不要在onDraw()中分配。