第十四屆 佳作

mobile-dev
Android app 效能優化
evanchen

系列文章

DAY 1

Android app 效能優化

App的效能很重要,有好的效能才能帶來好的體驗。一般來說,一個 App 的開啟 (Cold start) 需要在0.5秒內完成。使用者對於 UI 操作需要在0....

DAY 2

從背景處理優化效能

如果我們在主執行緒(Main thread、UI thread)上執行耗時的工作,例如檔案讀寫、資料庫操作、網路操作等,UI 就會沒有反應,甚至產生 ANR。解...

DAY 3

ANR 應用程式沒有回應

若主執行緒( Main threat、UI thread ) 處於阻塞的情況,就有可能會觸發 ANR ( Application Not Responding...

DAY 4

使用 StrictMode 找出在主執行緒的異常請求

當 App 在主執行緒長時間阻塞就會發生 ANR。如果這個阻塞的只發生了很短的 1 秒,雖然不會 ANR,但其實也不是使用者可以接受的。正常的 UI 回應速度應...

DAY 5

縮短 App 的啟動時間

開啟一個 App 要花多少時間是使用者最有感的。如果開啟時間過慢,使用者就可能會給予負評或是直接移除App。 App的啟動階段 當我們說開啟 App,指的可能有...

DAY 6

精簡 App 的大小

App 的檔案大小會影響載入的速度、增加記憶體使用量。這一篇我們就來介紹如何為你的 APK 精簡檔案大小。 分析APK內容 我們先透過 Android Stud...

DAY 7

UI 的效能優化

目前為止,我們已經介紹了幾種影響效能的因素及解決方式: App 啟動時間過長 → 延後初始化或使用 Startup libraryApp 檔案過大 → 精簡...

DAY 8

View 的繪製

當無法在時間內完成 View 的繪製,使用者就會感到 UI 的延遲,實際上 View 的繪製做了哪些事情?下圖左邊是我們的 Layout 編排,最外層有一個 L...

DAY 9

優化版面配置

優化版面配置有以下幾種方式: 減少 View 的階層 使用 Include 重用 Layout 使用 Merge 減少 Layout 階層 使用 ViewSt...

DAY 10

檢測版面配置 - 使用 Layout Inspector

Layout Inspector 是用來檢視執行中的 App 畫面上的 UI 階層狀況,可以幫助我們更容易檢視來找到效能問題。來看範例,我們有一個畫面如下的記帳...