問題的產(chǎn)生
多余的layouts、invalidations虹蒋、Overdraw
解決方案
通過Show GPU Overdraw去檢測Overdraw糜芳,最終可以通過移除不必要的背景以及使用canvas.clipRect解決大多數(shù)問題
通過Hierarchy Viewer去檢測渲染效率,去除不必要的嵌套
Overdraw處理
移除不必要的background,layout里面設(shè)置了背景色可以調(diào)用getWindow().setBackgroundDrawable(null)移除Activity背景色魄衅。
自定義View中clipRect的妙用
canvas.clipRect(float left, float top, float right, float bottom);
Hierarchy Viewer的使用
出于安全考慮峭竣,Hierarchy Viewer只能連接Android開發(fā)版手機(jī)或是模擬器,所以存在一個(gè)問題無法連接真機(jī)調(diào)試
解決方案
github上一個(gè)項(xiàng)目ViewServer可以解決晃虫。