1,什么是內存泄漏?
1)內存泄漏和內存溢出
2)垃圾內存
2,怎么回收垃圾內存
1)C語言手動分配和回收
2)java 設計了GC垃圾回收機制
3,GC判斷垃圾內存的策略是什么
1)內存泄漏是一種主管的人為失誤造成的
2)java的GC回收機制:莫對象不再有任何的引用的時候才會進行回收
提問:反過來如果莫對象被別的對象引用了就不能被GC回收嗎?
答:否 無法往上追溯到GCroot 引用點的
軟引用,虛引用,弱引用
可以作為GC root 引用點的是
javastack中的引用的對象
方法區中靜態引用指向的對象
Memory Analyzer網盤鏈接
鏈接:https://pan.baidu.com/s/1c-u8sn6nhBCRCy3sStcB6Q
提取碼:gsb0
1,打開Android Studio 快速查看內存泄漏
adb shell dumpsys meminfo com.well10.ui -d ( 為包名)

當前泄漏 149 數字越大泄漏越多
2,在Terminal運行
adb shell monkey -p com.well10.ui -v 1000000

3,在右上角點擊Profile圖標

4,勾選正在運行的包名

5,點擊MEMORY

6,先點擊刪除圖標在點擊下載圖標

7,勾選Arrange by Package 快速查找包名所在位置

8,以查找到泄漏112數量

9,以上是快速得出結果,點擊下載圖標 Heap Dump

10,保存,也可以保存到其他目錄

11,找到你剛剛保存的路徑,把文件與路徑合並

12,使用 hprof-conv -z (跟上你剛剛合並的文件路徑.hprof),在跟上你合並的文件路徑,在后面添加容易識別的數字!在按 Enter鍵,

13,打開 Memory Analyzer軟件上面有網盤鏈接,

14,打開之后點擊 File 在點擊 Open Heap Dump下拉框 由於截不了圖,
15,點擊之后會彈框出來!點擊你剛剛創建的容易識別的文件

16,此時會彈框點擊Finish

17,點擊Overview,在點擊Histogram

18 點擊Group result by 圖標

19 ,勾選 Group by Package 下拉框截不了圖,也就是最后一個
20,找到包名!也許你的包名與我的不一樣

21,右擊勾選

23,自己與開發一起分析結果!我自己也不會了!

