Android UI過度繪制問題產(chǎn)生以及解決辦法

問題的產(chǎn)生

多余的layouts、invalidations、Overdraw

解決方案

通過Show GPU Overdraw去檢測Overdraw,最終可以通過移除不必要的背景以及使用canvas.clipRect解決大多數(shù)問題

通過Hierarchy Viewer去檢測渲染效率,去除不必要的嵌套


Overdraw處理

移除不必要的background,layout里面設置了背景色可以調(diào)用getWindow().setBackgroundDrawable(null)移除Activity背景色。

自定義View中clipRect的妙用

canvas.clipRect(float left, float top, float right, float bottom);

Hierarchy Viewer的使用

出于安全考慮,Hierarchy Viewer只能連接Android開發(fā)版手機或是模擬器,所以存在一個問題無法連接真機調(diào)試

解決方案

github上一個項目ViewServer可以解決。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容