最新最準確內容建議直接訪問原文:性能優化系列總篇html
本文爲性能優化系列的總綱,主要介紹性能調優專題計劃、何爲性能問題、性能調優方式及前面介紹的數據庫優化、佈局優化、Java(Android)代碼優化具體對應的調優方式。java
一、調優專題博客計劃
目前調優專題已完成五部分:android
性能優化總綱——性能問題及性能調優方式
性能優化第三篇——Java(Android)代碼優化
性能優化第二篇——佈局優化
性能優化第一篇——數據庫性能優化web
性能優化實例 算法
後續計劃性能優化——診斷及工具(目前只有關於TraceView的介紹)、性能優化——內存篇、性能優化——JNI篇,性能優化——電量篇。數據庫
二、何爲性能問題
在性能測試中存在兩個概念:
(1). 響應時間
指從用戶操做開始到系統給用戶以正確反饋的時間。通常包括系統處理時間 + 網絡傳輸時間 + 展示時間。對於非網絡類應用不包括網絡傳輸時間。響應時間是用戶對性能最直接的感覺。緩存
(2). TPS(Transaction Per Second)
TPS爲每秒處理的事務數,是系統吞吐量的指標,在搜索系統中也用QPS(Query Per Second)衡量。TPS通常與響應時間反相關。性能優化
一般所說的性能問題就是指響應時間過長、系統吞吐量太低。在web性能測試中,也會將高併發下內存泄漏歸爲性能問題。網絡
在Android應用程序中因爲系統ANR的限制,因此對主線程的響應時間提出了更高的要求。Android ANR的具體要求是指Activity對事件響應不超過5秒,BroadcastReceiver中執行時間不超過10秒。多線程
三、性能調優方式
明白了何爲性能問題以後,就能明白性能優化實際就是優化系統的響應時間,提升TPS。優化響應時間,提升TPS的方式包括:
(1) 下降執行時間
這部分包括:a. 緩存(包括對象緩存、IO緩存、網絡緩存), b. 數據存儲類型優化, c. 算法優化, d. JNI, e. 邏輯優化, f. 需求優化
(2) 同步改異步,利用多線程提升TPS
(3) 提早或延遲操做,錯開時間段提升TPS
對於數據庫優化、佈局優化、Java代碼部分優化均可以概括到上面的幾種方式中。