iT邦幫忙

2022 iThome 鐵人賽

DAY 1
1
Mobile Development

Android app 效能優化系列 第 1

Android app 效能優化

  • 分享至 

  • xImage
  •  

App的效能很重要,有好的效能才能帶來好的體驗。一般來說,一個 App 的開啟 (Cold start) 需要在0.5秒內完成。使用者對於 UI 操作需要在0.1~0.2秒內有所回應。而UI 如果在5秒內沒有回應則會跳出 ANR(Application Not Responding) 應用程式沒有回應的警告視窗。

這個系列文章將介紹透過以下步驟來改善效能:

  1. 找出影響效能的關鍵指標
  2. 做出效能改善
  3. 持續監控效能表現

找出影響效能的關鍵指標

  • App 的啟動時間 (Cold start、Warm start、Hot start)
  • 透過 Lint 找出影響效能的因素
  • 透過 Layout Inspector 觀察UI 層級
  • 透過 Memory inspector 觀察記憶體使用狀況
  • 透過 CPU inspector 觀察CPU使用狀況
  • 透過 Internel inspector 觀察網路使用狀況

做出效能改善

  • 使用 Startup library 加快 app 的啟動速度
  • 避免大量使用記憶體及 Memory leak
  • 優化 Layout 的 佈局和繪製
  • 使用 Cache 與離線處理
  • 依照任務類型來使用正確的服務及元件

持續監控效能表現

想要知道如何改善,我們可以透過工具取得量化的資料來分析。Android Studio Profile tools 提供了 Memory inspectorLayout inspectorCPI inspectorInternet inspector 這四種分析工具來幫助我們找出效能不佳的原因。

從 UI 介面與功能設計輔助效能的提升

我們並非一味追求App執行速度的提升,效能之所以重要,是因為我們在意的是 App 的品質與使用體驗。有時在效能改善上仍會遇到無法克服的,例如使用者可能會遇到網路環境不好的情況,或是某些任務的執行就是需要時間來處理,我們就可以透過介面的設計來讓使用者不會感到這麼慢。

永遠讓使用者知道現在發生什麼事,如果一件任務需要使用者等待,請讓使用者知道正在處理中。而如果需要等待較長時間,請讓使用者知道目前處理的進度,預計多久能完成。例如使用 Line 傳送照片給朋友時,你能從畫面知道目前傳送的完成百分比。

效能優化的落實

知道如何效能優化是不夠的,更重要的是能不能落實在團隊開發上。在效能優化落實的章節,將介紹透過code review及自動化來落實效能優化,在App的自動建置時使用程式碼檢查,從觀察 Firebase performanceGoogle play vitals 每次更版後的效能影響。

最後,就讓我們用這30天的時間,將App全面的效能優化吧。


下一篇
從背景處理優化效能
系列文
Android app 效能優化30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言