版權聲明:本文為博主原創文章,未經博主允許不得在任何公眾號發布。
通常項目比較大的APP都面臨著如下性能問題,APP啟動慢、界面跳轉慢、事件相應慢、滑動和動畫卡頓、展現內容慢等,有的公司處理的很好,有的還有很大的優化空間,對于性能優化,怎么去做,我總結了一下性能優化如何入手,Android性能優化這個系列目前已經完成11篇,涉及到常用內存優化工具的使用,比如Memory Monitor、MAT、Allaction Tracing、TraceView 等,也涉及到如何提高應用的啟動速度以及頁面的渲染速度,還有流暢度的檢測。學會這些,基本上可以處理一般的性能問題了,這段時間需要研究插件化和算法,實在抽不出來時間去總結學習性能優化的相關知識了,日后會在此頁面中更新。
1、Android性能優化第(一)篇---基本概念 http://www.lxweimin.com/p/c0e5c13d5ecb
第一篇簡單回顧java的內存區域劃分、引用、內存泄露以及場景,還有垃圾回收
2、Android性能優化第(二)篇---Memory Monitor檢測內存泄露 http://www.lxweimin.com/p/ef9081050f5c
第二篇主要是使用過Android Studio自帶工具Memory Monitor 檢測內存泄露
3、Android性能優化第(三)篇---MAT比Menmery Monitor更強大 http://www.lxweimin.com/p/2d47d1cf5ccf
接上一篇,介紹另外一種內存泄露的檢測工具MAT
4、Android性能優化第(四)篇---Android渲染機制 http://www.lxweimin.com/p/9ac245657127
學習一下Android渲染機制,為什么16ms沒完成繪制就會卡頓?
5、Android性能優化第(五)篇---Allaction Tracing追蹤內存分配的軌跡 http://www.lxweimin.com/p/d9e426c10581
Allaction Tracing是追蹤內存分配的工具,可以很直觀的看到某個操作是如何一步步分配的
6、Android性能優化第(六)篇---TraceView 分析圖怎么看 http://www.lxweimin.com/p/388c693c1b58
TraceView 是 Android 平臺特有的數據采集和分析工具,主要用做熱點分析,找出最需要優化的點。我就是靠它將我公司的項目的啟動速度明顯的提高了。
7、Android性能優化第(七)篇---StrickMode嚴苛模式檢測耗時與內存問題 http://www.lxweimin.com/p/2ebc9363ea16
StrictMode意思為嚴格模式,是用來檢測程序中違例情況的開發者工具。使用一般是場景是檢測主線程中本地磁盤和網絡讀寫等耗時的操作。注意這個StrictMode是在Anroid2.3以后引入的。嚴格模式主要檢測兩大問題,一個是線程策略,即TreadPolicy,另一個是VM策略,即VmPolicy。
8、Android性能優化第(八)篇---App啟動速度優化之耗時檢測處理 http://www.lxweimin.com/p/a0e242d57360
介紹如何統計應用的啟動時間和性能檢查項,并且用TraceView逐個修復
9、Android性能優化第(九)篇---App啟動速度優化之啟動頁設計 http://www.lxweimin.com/p/777fe2f71039
因為啟動頁一般View的數量比較少,業務邏輯比較簡單,啟動不太費勁,但是該怎么寫啟動頁面讓應用的啟動速度更快呢?
10、Android性能優化第(十)篇---布局優化 http://www.lxweimin.com/p/c0e0cca14162
Android系統每隔16ms就重新繪制一次Activity,如果沒有完成就會有丟幀的現象。為了減輕UI繪制的負擔,有必要把Layout編寫的一些注意事項總結一下
11、Android性能優化第(十 一)篇---卡頓分析,正確評測流暢度 http://www.lxweimin.com/p/d126640eccb1
說到應用的流暢度,都會想到FPS,FPS評測應用流暢度不準確,系統獲取FPS的原理是:手機屏幕顯示的內容是通過Android系統的SurfaceFLinger類,把當前系統里所有進程需要顯示的信息合成一幀,然后提交到屏幕上進行顯示,FPS就是1秒內SurfaceFLinger提交到屏幕的幀數。但是用FPS來評測一個應用是否真的卡頓存在兩個問題,我們可以使用Choreographer幀率檢測。
還有幾個想寫的,過兩個月抽出來時間去總結,對低性能say no,希望朋友們來個mark,知識共享。未來性能優化還有四篇,如下
12、Android性能優化第(十二)篇---耗內存大戶Bitmap
13、Android性能優化第(十三)篇---安裝包性能瘦身
14、Android性能優化第(十四)篇---MultiDex初次啟動優化
15、Android性能優化第(十 五)篇---Systrace的使用
`Please accept mybest wishes for your happiness and success !