終於來到 Android 效能優化的最後一篇,我們來做個總結。App 的效能很重要,有好的效能才能帶來好的體驗。在 Google IO 2018 有提到給予 1 顆星的的評論,42% 都提到了穩定性與 bug。給予 5 顆星的評論,有 73% 都提到了速度、設計、可用性。
圖片來源:https://www.youtube.com/watch?v=dx6LBaFqEHU
這個系列,主要分為 Layout、記憶體、網路的效能,也分別介紹其監控工具,到最後的實務效能優化。我們就來回顧一下重點。
當無法在時間內完成 View 的繪製,使用者就會感到 UI 的延遲,可以透過優化版面配置及減少畫面的重複繪制來提升效能。
優化版面配置:
減少重複繪製:
記憶體在任何環境都是非常寶貴的資源,在行動裝置上更是如此。Out of memory 及 Memory leak 都是要儘可能避免的。沒有處理好可能就會閃退或是 ANR 。而最常造成 Memory leak 的是錯用 Activity context 與 Application context。使用 Coroutine 也可以減少 Memory leak 發生的機會。
不要只相信自已的眼睛,每個人的感覺可能不一樣。由數據來測量效能是較好的方式。
再次強調,我們追求的是品質、是體驗,而不是效能。而影響品質及體驗不單單是效能,程式碼好不好維護都會影響品質。假設有一段程式碼的執行效能很好,可讀性卻很差。我們就要同時衡量這段程式碼提升的效能是否真的對使用者有感,來綜合比較其優缺點。
儘早在手機上測試 App,而不是在模擬器上。因為在手機測試你更能用手指去感受效能對你的影響。
使用性能差的手機,能測出一些潛在的效能問題。
最後,這個系列希望對大家有幫助,一起來提升 App 的效能,讓你的 App 有更好的品質及使用體驗。