Android性能優化(二):UI佈局優化

Android性能優化(二):UI佈局優化

一、前言

人眼在看畫面時,畫面幀率高於每秒10-12幀(即每秒播放10-12張圖片)的時候,就會認爲是連貫的。一般電影的拍攝及播放幀數是每秒24幀。按道理說,畫面幀率越高,用戶體驗越好,但這也代表着成本越高。
Android APP的性能標準是60fps,即1秒之內要達到60幀,這樣我們就只有1000/60 = 16 毫秒的時間來處理任務。Android系統每隔16ms會發出一個VSYNC信號來觸發UI的渲染。如果在16ms內不能完成UI的渲染,界面就出現卡頓的情況,導致用戶體驗差。

二、檢查工具

1、Layout Inspector工具檢測xml頁面,去除不必要的嵌套
在這裏插入圖片描述
使用方法我就不詳細介紹了。
2、通過Show GPU Overdraw去檢測Overdraw,移除不必要的背景
手機打開Show GPU Overdraw方法:設置 -> 開發者選項 -> 調試GPU過度繪製 -> 顯示GPU過度繪製
在這裏插入圖片描述
顏色越深,代表過度繪製也嚴重,主要關注深紅色部分。

三、優化方法(層級嵌套最好不要超過五層)

1、移除不必要的background,避免過度繪製;
2、對於公共使用的佈局提取出來,使用 include 進行引入;
3、使用 merge 減少層級嵌套;
4、適當使用 ViewStub 控件;
5、建議使用Android推出的ConstaintLayout佈局,可以實現扁平化佈局,減少層級。

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