Android應用開發效能優化系列總篇

idaretobe發表於2015-01-09

http://www.trinea.cn/android/performance/


本文為效能優化系列的總綱,主要介紹效能調優專題計劃、何為效能問題、效能調優方式及前面介紹的資料庫優化、佈局優化、Java(Android)程式碼優化具體對應的調優方式。

 

1、調優專題部落格計劃
目前調優專題已完成五部分:

效能優化總綱——效能問題及效能調優方式
效能優化第三篇——Java(Android)程式碼優化
效能優化第二篇——佈局優化
效能優化第一篇——資料庫效能優化

效能優化例項 

後續計劃效能優化——診斷及工具(目前只有關於TraceView的介紹)、效能優化——記憶體篇、效能優化——JNI篇,效能優化——電量篇。

 

2、何為效能問題
在效能測試中存在兩個概念:
(1). 響應時間
指從使用者操作開始到系統給使用者以正確反饋的時間。一般包括系統處理時間 + 網路傳輸時間 + 展現時間。對於非網路類應用不包括網路傳輸時間。響應時間是使用者對效能最直接的感受。

(2). TPS(Transaction Per Second)
TPS為每秒處理的事務數,是系統吞吐量的指標,在搜尋系統中也用QPS(Query Per Second)衡量。TPS一般與響應時間反相關。

 

通常所說的效能問題就是指響應時間過長、系統吞吐量過低。在web效能測試中,也會將高併發下記憶體洩漏歸為效能問題。

在Android應用程式中由於系統ANR的限制,所以對主執行緒的響應時間提出了更高的要求。Android ANR的具體要求是指Activity對事件響應不超過5秒,BroadcastReceiver中執行時間不超過10秒。

 

3、效能調優方式

明白了何為效能問題之後,就能明白效能優化實際就是優化系統的響應時間,提高TPS。優化響應時間,提高TPS的方式包括:
(1) 降低執行時間
這部分包括:a. 快取(包括物件快取、IO快取、網路快取), b. 資料儲存型別優化, c. 演算法優化, d. JNI, e. 邏輯優化, f. 需求優化

(2) 同步改非同步,利用多執行緒提高TPS

(3) 提前或延遲操作,錯開時間段提高TPS

對於資料庫優化、佈局優化、Java程式碼部分優化都可以歸納到上面的幾種方式中。具體見:

效能優化第三篇——Java(Android)程式碼優化
效能優化第二篇——佈局優化
效能優化第一篇——資料庫效能優化

效能優化例項 


相關文章