App的效能很重要,有好的效能才能帶來好的體驗。一般來說,一個 App 的開啟 (Cold start) 需要在0.5秒內完成。使用者對於 UI 操作需要在0.1~0.2秒內有所回應。而UI 如果在5秒內沒有回應則會跳出 ANR(Application Not Responding) 應用程式沒有回應的警告視窗。
這個系列文章將介紹透過以下步驟來改善效能:
Lint
找出影響效能的因素Layout Inspector
觀察UI 層級Memory inspector
觀察記憶體使用狀況CPU inspector
觀察CPU使用狀況Internel inspector
觀察網路使用狀況Startup library
加快 app 的啟動速度Memory leak
想要知道如何改善,我們可以透過工具取得量化的資料來分析。Android Studio Profile tools 提供了 Memory inspector
、Layout inspector
、CPI inspector
、Internet inspector
這四種分析工具來幫助我們找出效能不佳的原因。
我們並非一味追求App執行速度的提升,效能之所以重要,是因為我們在意的是 App 的品質與使用體驗。有時在效能改善上仍會遇到無法克服的,例如使用者可能會遇到網路環境不好的情況,或是某些任務的執行就是需要時間來處理,我們就可以透過介面的設計來讓使用者不會感到這麼慢。
永遠讓使用者知道現在發生什麼事,如果一件任務需要使用者等待,請讓使用者知道正在處理中。而如果需要等待較長時間,請讓使用者知道目前處理的進度,預計多久能完成。例如使用 Line 傳送照片給朋友時,你能從畫面知道目前傳送的完成百分比。
知道如何效能優化是不夠的,更重要的是能不能落實在團隊開發上。在效能優化落實的章節,將介紹透過code review及自動化來落實效能優化,在App的自動建置時使用程式碼檢查,從觀察 Firebase performance
、Google play vitals
每次更版後的效能影響。
最後,就讓我們用這30天的時間,將App全面的效能優化吧。