最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android使用Profiler查看應(yīng)用內(nèi)存分析的操作步驟

 更新時間:2023年10月27日 09:27:00   作者:淘淘養(yǎng)樂多  
內(nèi)存分析是Profiler中的一個組件,可以幫助我們識別可能會導(dǎo)致應(yīng)用卡頓、凍結(jié)甚至崩潰的內(nèi)存泄露和內(nèi)存抖動,本文小編將給大家介紹一下Android使用Profiler查看應(yīng)用內(nèi)存分析的操作步驟,需要的朋友可以參考下

內(nèi)存分析是Profiler中的一個組件,

可以顯示應(yīng)用內(nèi)存使用情況實時圖表,幫助我們捕獲堆轉(zhuǎn)儲、強制執(zhí)行垃圾回收以及跟蹤內(nèi)存的分配情況。

打開內(nèi)存分析步驟:

1、依次點擊View→Tool Window→Profiler

2、從Profiler工具欄中選擇要分析的設(shè)備以及應(yīng)用進程。(需要優(yōu)先確保設(shè)備通過USB正常連接IDE)

3、點擊MEMORY時間軸上的任意位置可以打開內(nèi)存分析。

一、分析應(yīng)用內(nèi)存的目的

當(dāng)應(yīng)用存在不再使用的某些對象時,垃圾回收器會將未使用的內(nèi)存釋放。如果應(yīng)用分配內(nèi)存的速度比系統(tǒng)回收的速度快時,回收器要釋放足夠的內(nèi)存來滿足應(yīng)用的分配需要時,應(yīng)用可能會產(chǎn)生延遲,從而可能導(dǎo)致應(yīng)用跳幀,使應(yīng)用明顯變慢。

即使應(yīng)用使用過程中未表現(xiàn)出變慢,但如果存在內(nèi)存泄漏,應(yīng)用掛在后臺運行時,依然會保留相應(yīng)的內(nèi)存。從而導(dǎo)致系統(tǒng)強制執(zhí)行不必要的垃圾回收時間,從而拖慢系統(tǒng)其余部分的內(nèi)存性能,最終使系統(tǒng)被迫終止應(yīng)用進程以回收內(nèi)存。致使用戶返回應(yīng)用時,必須重啟。影響到用戶體驗。

因此可以通過以下幾種操作從而防止這些問題:

1、在時間軸上查找可能會導(dǎo)致性能問題的不理想內(nèi)存分配進行查看;

2、轉(zhuǎn)儲java堆以便查看在任何給定時間內(nèi)有哪些對象在占用內(nèi)存。在一個較長的時間段內(nèi)進行多次堆轉(zhuǎn)儲有助于分析內(nèi)存泄漏點,常用該種方式檢測;

3、記錄正常與極端情況下用戶交互期間的內(nèi)存分配情況。從而準(zhǔn)確識別代碼中可能存在的短時間內(nèi)分配過多對象而出現(xiàn)泄漏的情況。

二、Profiler概覽

打開Profiler后,選擇設(shè)備以及應(yīng)用,則可以看到時間軸界面,其中包含CPU、MEMORY、ENERGY的情況。其中MEMORY為內(nèi)存分析器、ENERGY為電池分析器;

其中我們主要是用內(nèi)存分析器工具。

當(dāng)中有三項選擇:Capture heap dump:獲取堆轉(zhuǎn)儲,該為目前主要檢測手段,稍后講解;
Record native allocations:獲取設(shè)備上錄制原生分配情況;
Record Java/Kotlin allocations:獲取錄制Java和Kotlin分配情況;

三、查看內(nèi)存分配情況

1、內(nèi)存分配情況表可以顯示內(nèi)存中每個java對象和JNI引用的分配方式。因此,內(nèi)存分析器可以顯示有關(guān)對象分配情況信息如下:

--分配了哪些類型的對象以及他們使用了多少空間;

--每個分配堆棧的軌跡,包括在哪些線程中;

--對象何時被取消分配等;

如果需要中Android 10以及更高版本的設(shè)備上錄制原生分配情況,需要選擇Record native allocations,然后點擊Record,錄制會持續(xù)到點擊Stop為止,之后內(nèi)存分析界面會轉(zhuǎn)換到顯示原生錄制的屏幕中。

注意:低于android10,record native allocations選項不可使用。

如果需要錄制java和kotlin分配情況,請選擇record java/kotlin allocations,然后選擇record。如果設(shè)備搭載的是android8+,則內(nèi)存分析將可以轉(zhuǎn)換顯示就行錄制的界面,可以按緊選中某一塊區(qū)域進行查看。

四、捕獲堆轉(zhuǎn)儲

堆轉(zhuǎn)儲顯示捕獲堆轉(zhuǎn)儲時應(yīng)用中對象正在使用的內(nèi)存,尤其是在長時間的操作中,堆轉(zhuǎn)儲會顯示認為不應(yīng)該再存在的內(nèi)存對象,從而幫助識別內(nèi)存泄漏。
如果需要捕獲堆轉(zhuǎn)儲,需要選擇capture heap dump,然后選擇record。一段時間后,就會生成heap dump,可進行查看,也可以通過第三方工具Memory Analyzer進行查看。

由于新版IDE剔除了Memory Analyzer工具,因此,目前查看需要通過eclipse中的插件工具memory analyzer進行查看。可通過工具下載進行試驗:[http://www.eclipse.org/mat/downloads.php]
通過工具打開phrof文件,進入主界面

點擊leak suspects可查看疑似內(nèi)存泄漏的地方,點擊detail可以查看分析出ArryList存放對象Person出了問題。

也可以在overview中點擊dominator_tree查看堆占比,可以看出一個線程占比過高,集合中對象的數(shù)量過多等。

以上就是Android使用Profiler查看應(yīng)用內(nèi)存分析的操作步驟的詳細內(nèi)容,更多關(guān)于Android Profiler查看應(yīng)用內(nèi)存分析的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Android異步消息處理機制實現(xiàn)原理詳解

    Android異步消息處理機制實現(xiàn)原理詳解

    這篇文章主要介紹了Android異步消息處理機制實現(xiàn)原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • Android實現(xiàn)讓圖片在屏幕上任意移動的方法(拖拽功能)

    Android實現(xiàn)讓圖片在屏幕上任意移動的方法(拖拽功能)

    這篇文章主要介紹了Android實現(xiàn)讓圖片在屏幕上任意移動的方法,實例分析了Android拖拽功能的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2016-08-08
  • Android圖片等比例縮放和填充屏幕效果

    Android圖片等比例縮放和填充屏幕效果

    這篇文章主要為大家詳細介紹了Android圖片等比例縮放和填充屏幕效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Android仿Flipboard動畫效果的實現(xiàn)代碼

    Android仿Flipboard動畫效果的實現(xiàn)代碼

    這篇文章主要介紹了Android仿Flipboard動畫效果的實現(xiàn)代碼,本文圖文并茂給大家介紹的非常詳細,需要的朋友可以參考下
    2018-01-01
  • android 手機SD卡讀寫操作(以txt文本為例)實現(xiàn)步驟

    android 手機SD卡讀寫操作(以txt文本為例)實現(xiàn)步驟

    要完成SD卡讀寫操作首先對manifest注冊SD卡讀寫權(quán)限其次是創(chuàng)建一個對SD卡中文件讀寫的類寫一個用于檢測讀寫功能的的布局然后就是UI的類了,感興趣的朋友可以參考下,希望可以幫助到你
    2013-02-02
  • 淺談Android View繪制三大流程探索及常見問題

    淺談Android View繪制三大流程探索及常見問題

    下面小編就為大家?guī)硪黄獪\談Android View繪制三大流程探索及常見問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 簡單談?wù)刟ndroid studio 的單元測試

    簡單談?wù)刟ndroid studio 的單元測試

    昨天在完善項目的時候,需要進行單元測試,在Eclipse環(huán)境中進行是很簡單的,但是在Android Studio環(huán)境中進行單元測試,在國內(nèi)找了很多資料,大都是人云亦云,本文發(fā)布出來供大家學(xué)習(xí)參考。
    2016-08-08
  • Android實現(xiàn)懸浮按鈕功能

    Android實現(xiàn)懸浮按鈕功能

    在很多場景中,我們希望在應(yīng)用或系統(tǒng)任意界面上都能看到一個小的“懸浮按鈕”(Floating Button),用來快速啟動工具、展示未讀信息或快捷操作,所以本文給大家介紹了如何在Android中實現(xiàn)懸浮按鈕功能,需要的朋友可以參考下
    2025-04-04
  • Retrofit + OkHttp緩存處理的示例代碼

    Retrofit + OkHttp緩存處理的示例代碼

    本篇文章主要介紹了Retrofit + OkHttp緩存處理的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Android實現(xiàn)ViewPage輪播圖效果

    Android實現(xiàn)ViewPage輪播圖效果

    這篇文章主要為大家詳細介紹了Android實現(xiàn)ViewPage輪播圖效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03

最新評論

勃利县| 凤庆县| 沧源| 宁陵县| 徐闻县| 工布江达县| 四会市| 廊坊市| 金乡县| 阿克陶县| 青岛市| 平塘县| 伽师县| 岫岩| 拜泉县| 台江县| 崇州市| 察隅县| 岐山县| 桂林市| 鹿邑县| 忻州市| 游戏| 襄樊市| 辽中县| 太仆寺旗| 石嘴山市| 江安县| 绥中县| 保德县| 六枝特区| 胶南市| 石林| 莱芜市| 澎湖县| 资源县| 东城区| 那坡县| 新蔡县| 麻阳| 比如县|