Hencoder學習筆記1-8

HenCoder Android 自定義 View 1-8 硬件加速

硬件加速能夠讓繪制變快,主要有三個原因:

1.本來由 CPU 自己來做的事,分攤給了 GPU 一部分,自然可以提高效率;
2.相對于 CPU 來說,GPU 自身的設計本來就對于很多常見類型內容的計算(例如簡單的圓形、簡單的方形)具有優勢;
3.由于繪制流程的不同,硬件加速在界面內容發生重繪的時候繪制流程可以得到優化,避免了一些重復操作,從而大幅提升繪制效率。

所有的原生自帶控件,都沒有用到 API 版本不兼容的繪制操作,可以放心使用。所以你只要檢查你寫的自定義繪制就好。

如果你的繪制操作不支持硬件加速,你需要手動關閉硬件加速來繪制界面,關閉的方式是通過這行代碼:

view.setLayerType(LAYER_TYPE_SOFTWARE, null);

View Layer 可以加速無 invalidate() 時的刷新效率,但對于需要調用 invalidate() 的刷新無法加速。

view.animate()
    .rotationY(90)
    .withLayer(); // withLayer() 可以自動完成上面這段代碼的復雜操作
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容