首頁>技術>

前言

在 Android開發中,效能優化策略十分重要

因為其決定了應用程式的開發品質:可用性、流暢性、穩定性等,是提高使用者留存率的關鍵

本文全面講解效能優化中的所有知識,獻上一份 Android效能優化的詳細攻略, 含:優化方向、原因 & 具體優化方案,希望你們會喜歡

效能優化的目的

效能優化的目的是為了讓應用程式App 更快、更穩定 & 更省。具體介紹如下:

更快:應用程式 執行得更加流暢、不卡頓,能快速響應使用者操作

更穩定:應用程式 能 穩定執行 & 解決使用者需求,在使用者使用過程中不出現應用程式崩潰(Crash) 和 無響應(ANR)的問題

更省:節省耗費的資源,包括 記憶體佔有、電池量、網路資源等

優化方向流暢性

優化原因

利於 減少使用中的卡頓、響應時間久等問題,給與使用者一個操作流暢的體驗

優化方向

主要針對3個方面優化:啟動速度、頁面顯示速度、響應速度

1.啟動速度

初次開啟應用時,需載入很多資源 or 功能邏輯,採用 非同步載入(多執行緒)、分步載入、延期載入的策略,減少啟動應用時載入的任務,從而提高啟動速度。

2.頁面顯示速度

頁面需繪製的內容(佈局 & 控制元件)太多,從而導致頁面測量時間過長,繪製效率過低,從而導致繪製時間過長

3.響應速度

應用程式出現 ANR 情況,從而導致 應用程式響應速度慢,使用多執行緒,將大量 & 耗時操作放在工作執行緒中執行

4.其他優化方案

合理的重新整理機制動畫的使用根據不同場景選擇

合適的動畫框架使用

硬體加速的方式

提高流暢度使用動畫後需停止動畫

穩定性

應用崩潰(Crash)、應用無響應(ANR)

1.應用無響應(ANR)

儘量避免應用程式出現 ANR 情況,使用多執行緒,將大量 & 耗時操作放在工作執行緒中執行

2.應用崩潰(Crash)

應用崩潰Crash很多情況是因為 記憶體溢位,即OOM;故 需避免出現 OOM現象

資源節省性

由於移動裝置的硬體效能有限,故減少應用程式的資源消耗顯得十分重要,記憶體大小、安裝包大小、耗電量 & 網路流量

1.記憶體優化

避免因不正確使用記憶體 & 缺乏管理,從而出現 記憶體洩露(ML)、記憶體溢位(OOM)、記憶體空間佔用過大 等問題,最終導致應用程式崩潰(Crash)

2.減少安裝包大小

應用程式的安裝包大小雖對應用程式的使用無影響,但影響的是:

空間佔有率:即 應用程式佔有手機記憶體的大小

下載門檻:應用的安裝包越大,使用者下載的門檻越高

特別在行動網路下,使用者下載應用時,對安裝包大小的要求更高,因此減小安裝包大小可讓更多使用者願意下載且使用產品

減少引入不必要的庫

程式碼混淆

外掛化

3.減少網路流量

每次獲取資源時 都通過流量 & 網路載入的方式,將耗費大量網路流量,主要通過 快取 減少網路流量,採用三級快取方案:即 記憶體快取 - 硬碟快取- 資料庫- 檔案 - 網路快取

4.減少應用的耗電量

隨著智慧手機普及 & 應用程式App的功能發展,人們的日常生活都離不開智慧手機 & 各式各樣的應用程式App,故 應用程式的耗電量指標則顯得十分重要

正確使用WakeLock機制

儘量使用JobScheduler

使用電量分析工具

總結

區別於功能性開發需求的短期性,效能優化是貫穿整個應用程式App專案的持續性需求;雖專案一開始時,效能優化的優先順序較低,但當應用程式App的使用者體量達到一定規模時,效能優化 則非常重要

最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • vuex 簡單使用