亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android?配合Mat工具監(jiān)聽查找內存泄漏的操作方法

 更新時間:2022年05月13日 09:25:11   作者:一只想顛覆世界的螞蟻  
這篇文章主要介紹了Android?配合Mat工具監(jiān)聽查找內存泄漏問題,使用Android Studio Profiler查看內存的操作,本文通過圖文實例相結合給大家介紹的非常詳細,需要的朋友可以參考下

1、Android Studio Profiler查看內存

內部培訓做個記錄

運行我們的項目,然后一直玩APP。最后在Android Studio Profiler中選擇memory。執(zhí)行如下操作:

會得到如下圖示。

從圖中可以看出,目前存在47個泄漏情況。點擊數(shù)字47 會得到app heap內存泄漏的詳細類。

某一個類泄漏了17次。

右鍵到處hprof文件。

2、hprof文件轉換

進入到Android SDK的platform-tools目錄下 執(zhí)行如下命令

hprof-conv memory.hprof 11.hprof

3、MAT定位泄漏原因

打開mat軟件,選擇file 導入剛剛生成的11.hprof文件

點擊

輸入你需要查看的泄漏類的正則

這兒我輸入activity。找到我們自己的activity,這個時候右鍵該類。選擇Gc roots 然后exclude all phantom/weak/soft etc.references(這步操作的目的是排除軟弱虛引用,因為我們知道內存泄漏的問題都是由強引用導致的)

從圖中可以看出 我們項目有個lifecycleRegister類持有了activity保存在fragmentCallback中,而得不到釋放。

4、回到代碼排查原因

最后在代碼中我看到我們的fragmentCallback一直保存數(shù)據(jù),但是沒有地方釋放,在釋放的位置activity.finish()即可。至此解決問題

即堆中存在不再使用的對象,但垃圾收集器無法將它們從內存中刪除

到此這篇關于Android 監(jiān)聽查找內存泄漏 配合Mat工具的文章就介紹到這了,更多相關android內存泄漏Mat內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論