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全面的效能優化吧。