Android ViewGroup提高繪製性能

如果下面有很多子View,繪製的時候,需要開啓其子View的繪製緩存功能,從而提高繪製效率。

public void setChildrenDrawingCacheEnabled(boolean enabled) {
    final int count = getChildCount();
    for (int i = 0; i < count; i++) {
        final View view = getChildAt(i);
        view.setDrawingCacheEnabled(true);
         
        // Update the drawing caches
        view.buildDrawingCache(true);
    }
}

另一方面也可以通過setDrawingCacheQuality(low)將緩存質量降低,減少內存。

最後結束的時候,需要通過以下代碼來清空繪製緩存。

void clearChildrenCache() {
    final int count = getChildCount();
    for (int i = 0; i < count; i++) {
        final MyLayout layout = (MyLayout) getChildAt(i);
        layout.setChildrenDrawnWithCacheEnabled(false);
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章