問題的產(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可以解決。