前言
性能優(yōu)化問題,在我們開發(fā)時(shí)都會(huì)遇到,但是在小廠和對(duì)自己要求不嚴(yán)格的情況下,我都很少去做性能優(yōu)化;
在性能優(yōu)化上,基本大家都是通過自己的開發(fā)經(jīng)驗(yàn)和性能分析工具來發(fā)現(xiàn)問題,今天給大家分享一下小編最近使用的Profiler工具
Profiler工具能做什么?
幫助開發(fā)者了解應(yīng)用的CPU,內(nèi)存,網(wǎng)絡(luò),電池資源等使用情況
Profiler與開發(fā)人員的關(guān)系?
Profiler是評(píng)估代碼性能的工具,而開發(fā)是通過編寫代碼來實(shí)現(xiàn)功能的;
通過使用Profiler,開發(fā)人員可以識(shí)別和解決代碼中的性能問題,以提高應(yīng)用程序的響應(yīng)速度和效率;
Profiler還可以幫助開發(fā)人員了解應(yīng)用程序的內(nèi)部工作方式,以便進(jìn)行優(yōu)化和改進(jìn);
Profiler和開發(fā)之間的關(guān)系是相互依存的;
性能優(yōu)化的目的?
優(yōu)化程序,是程序更健壯,效率更高,提供更快更流暢的用戶體驗(yàn),延長(zhǎng)設(shè)備電池續(xù)航時(shí)間
Profiler的打開方式
方式一:點(diǎn)擊AS左上角View / Tool Windows / Profiler
方式二:點(diǎn)擊AS右上角的Profiler圖標(biāo)
方式三:點(diǎn)擊AS最下面的Profiler按鈕
?三種打開方式如下圖所示:
Profiler工具的三大分析方向
- CPU? ? ? ? ? ? ? ? ?CPU分析
- MEMORY? ? ? ? 內(nèi)存分析
- ENERGY? ? ? ? ?能耗分析
三種分析方向如下圖所示:
Profiler CPU分析
這里小編就借用官方的標(biāo)準(zhǔn)介紹吧,避免錯(cuò)誤引導(dǎo)大家
當(dāng)您打開 CPU 性能分析器時(shí),它會(huì)立即開始顯示應(yīng)用的 CPU 使用率和線程活動(dòng),如下圖所示:
- 事件時(shí)間軸:顯示應(yīng)用中的 activity 在其生命周期內(nèi)不斷轉(zhuǎn)換經(jīng)歷各種不同狀態(tài)的過程,并指示用戶與設(shè)備的交互,包括屏幕旋轉(zhuǎn)事件。如需了解如何在搭載 Android 7.1(API 級(jí)別 25)及更低版本的設(shè)備上啟用事件時(shí)間軸,請(qǐng)參閱啟用高級(jí)性能分析功能。
- CPU 時(shí)間軸:顯示應(yīng)用的實(shí)時(shí) CPU 使用率(以占總可用 CPU 時(shí)間的百分比表示)以及應(yīng)用當(dāng)前使用的線程總數(shù)。此時(shí)間軸還會(huì)顯示其他進(jìn)程(如系統(tǒng)進(jìn)程或其他應(yīng)用)的 CPU 使用率,以便您可以將其與您應(yīng)用的 CPU 使用率進(jìn)行對(duì)比。您可以通過沿時(shí)間軸的橫軸方向移動(dòng)鼠標(biāo)來檢查歷史 CPU 使用率數(shù)據(jù)。
-
線程活動(dòng)時(shí)間軸:列出屬于應(yīng)用進(jìn)程的每個(gè)線程,并使用下面列出的顏色在時(shí)間軸上指示它們的活動(dòng)。記錄軌跡后,您可以從此時(shí)間軸上選擇一個(gè)線程,以在軌跡窗格中檢查其數(shù)據(jù)。
- 綠色:表示線程處于活動(dòng)狀態(tài)或準(zhǔn)備使用 CPU。也就是說,線程處于正在運(yùn)行或可運(yùn)行狀態(tài)。
- 黃色:表示線程處于活動(dòng)狀態(tài),但它正在等待一項(xiàng) I/O 操作(如磁盤或網(wǎng)絡(luò) I/O),然后才能完成它的工作。
- 灰色:表示線程正在休眠且沒有消耗任何 CPU 時(shí)間。 當(dāng)線程需要訪問尚不可用的資源時(shí),就會(huì)出現(xiàn)這種情況。在這種情況下,要么線程主動(dòng)進(jìn)入休眠狀態(tài),要么內(nèi)核將線程置于休眠狀態(tài),直到所需的資源可用。
CPU 性能分析器還會(huì)報(bào)告 Android Studio 和 Android 平臺(tái)添加到應(yīng)用進(jìn)程的線程的 CPU 使用率,這些線程包括?
JDWP
、Profile Saver
、Studio:VMStats
、Studio:Perfa
?和?Studio:Heartbeat
?等(不過,它們?cè)诰€程活動(dòng)時(shí)間軸上顯示的確切名稱可能有所不同)。Android Studio 報(bào)告此數(shù)據(jù)是為了方便您確定線程活動(dòng)和 CPU 使用率什么時(shí)候是由應(yīng)用的代碼實(shí)際引發(fā)的
Profiler 內(nèi)存分析
內(nèi)存性能分析圖說明
- 用于強(qiáng)制執(zhí)行垃圾回收事件的按鈕
- 用于捕獲堆轉(zhuǎn)儲(chǔ)的按鈕
- 用于指定性能分析器多久捕獲一次內(nèi)存分配的下拉菜單
- 用于縮放時(shí)間軸的按鈕
- 用于跳轉(zhuǎn)到實(shí)時(shí)內(nèi)存數(shù)據(jù)的按鈕
- 事件時(shí)間軸,顯示活動(dòng)狀態(tài)、用戶輸入事件和屏幕旋轉(zhuǎn)事件
- 內(nèi)存使用量時(shí)間軸,它會(huì)顯示以下內(nèi)容? ? ? ? ? ?
- 一個(gè)堆疊圖表,顯示每個(gè)內(nèi)存類別當(dāng)前使用多少內(nèi)存,如左側(cè)的 y 軸以及頂部的彩色鍵所示
- 一條虛線,表示分配的對(duì)象數(shù),如右側(cè)的 y 軸所示
- 每個(gè)垃圾回收事件的圖標(biāo)
Profiler能耗分析
當(dāng)您打開能耗性能剖析器時(shí),它會(huì)立即開始顯示應(yīng)用的估算耗電量,如下圖所示,下圖是我從官網(wǎng)找的圖片介紹
能耗性能剖析器的默認(rèn)視圖包括以下時(shí)間軸:
- “Event”時(shí)間軸:顯示應(yīng)用中的 Activity 在其生命周期內(nèi)不斷轉(zhuǎn)換而經(jīng)歷各種不同狀態(tài)的過程。此時(shí)間軸還會(huì)指示用戶與設(shè)備的交互,包括屏幕旋轉(zhuǎn)事件。
- “Energy”時(shí)間軸:顯示應(yīng)用的估算耗電量。
- “System”時(shí)間軸:顯示可能會(huì)影響耗電量的系統(tǒng)事件。
如需查看 CPU、網(wǎng)絡(luò)和位置信息 (GPS) 資源,以及相關(guān)系統(tǒng)事件的具體耗電量情況,請(qǐng)將鼠標(biāo)指針放在?Energy?時(shí)間軸中的條形上方。文章來源:http://www.zghlxwxcb.cn/news/detail-672880.html
如果大家還需要學(xué)習(xí)更多的Profiler知識(shí),可以去Profiler官網(wǎng)文檔中進(jìn)行更加詳細(xì)的了解文章來源地址http://www.zghlxwxcb.cn/news/detail-672880.html
到了這里,關(guān)于Android開發(fā)之性能優(yōu)化工具Profiler的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!