iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Mobile Development

Android app 效能優化 系列

App有好的效能才會有好的使用體驗。這個系列將介紹如何透過分析工具來找出效能不佳的關鍵指標及原因,並從記憶體管理、網路請求的效能優化、Layout 的優化等帶來app整體效能的提升。

鐵人鍊成 | 共 30 篇文章 | 21 人訂閱 訂閱系列文 RSS系列文
DAY 11

減少畫面的重複繪製

在我們已經透過 Layout 的優化來減少 UI 的階層,接下來要往繪製的效能來優化。每一次的繪製都需要成本,所以如果可以減少繪製的步驟,就可以提升效率。 重複...

2022-09-26 ‧ 由 evanchen 分享
DAY 12

檢測畫面的重複繪製

Android 系統提供了一個檢測App是否存在重複繪製的工具,這個工具可以直接在手機裡開啟。點選開發人員選項 → 針對 GPU 重複繪圖進行偵錯。開啟之後,系...

2022-09-27 ‧ 由 evanchen 分享
DAY 13

Android 的記憶體效能優化

這篇開始要進入到 Android 在使用記憶體上的效能優化。在記憶體效能篇,我們將依序來介紹跟記憶體效能有關的議題: Android 的記憶體管理 OOM (...

2022-09-28 ‧ 由 evanchen 分享
DAY 14

Out of memory 記憶體不足

在 Android 造成 OOM 的原因主要有 2 個: 用了太多的記憶體 記憶體無法正常釋放 這一篇我們要來談談如何避免用了太多的記憶體。 處理大型圖片的...

2022-09-29 ‧ 由 evanchen 分享
DAY 15

Memory leak 記憶體洩漏

當我們產生了一個物件,就會在 Heap 中配置一塊記憶體來處理,當一個物件不再使用時,就會進行 GC (Garbage Collection ) 垃圾回收機制,...

2022-09-30 ‧ 由 evanchen 分享
DAY 16

Application context 與 Activity context

上一篇我們介紹了一個因 Activity 被 Singleton 參考所發生的 Memory leak 。 object Class1 { latein...

2022-10-01 ‧ 由 evanchen 分享
DAY 17

WeakReference 弱引用

Weak reference、Soft reference 可以用來解決 Memory leak 的問題,當我們用 Weak reference 指向某個物件,...

2022-10-02 ‧ 由 evanchen 分享
DAY 18

使用 Coroutine 減少 Memory leak

在背景執行緒執行一段任務,未完成時就離開 Activity 是有可能造成 Memory leak 的。如下程式碼是一段使用背景執行緒請求網路資料: 呼叫 ne...

2022-10-03 ‧ 由 evanchen 分享
DAY 19

使用 LeakCanary 找出 Memory leak

LeakCanary 是 Square 公司所開發出來的檢測 Memory leak 的工具。不需要撰寫程式碼就可以自動偵測 Activity 與 Fragme...

2022-10-04 ‧ 由 evanchen 分享
DAY 20

使用 Profiler 找出記憶體的異常使用

我們在 Memory leak 篇介紹了如何使用 Profiler 來找出 Memory leak。接著將繼續介紹使用 Profiler 來分析記憶體。Prof...

2022-10-05 ‧ 由 evanchen 分享