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 ( 为包名)

使用Android Studio快速查找内存泄漏

 

当前泄漏 149 数字越大泄漏越多 

2,在Terminal运行

adb shell monkey -p com.well10.ui -v 1000000

 

使用Android Studio快速查找内存泄漏

 

3,在右上角点击Profile图标

 

使用Android Studio快速查找内存泄漏

 

4,勾选正在运行的包名

 

使用Android Studio快速查找内存泄漏

 

5,点击MEMORY

使用Android Studio快速查找内存泄漏

 

6,先点击删除图标在点击下载图标

 

使用Android Studio快速查找内存泄漏

 

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

 

使用Android Studio快速查找内存泄漏

 

8,以查找到泄漏112数量

 

使用Android Studio快速查找内存泄漏

9,以上是快速得出结果,点击下载图标 Heap Dump 

使用Android Studio快速查找内存泄漏

 

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

使用Android Studio快速查找内存泄漏

 

11,找到你刚刚保存的路径,把文件与路径合并

使用Android Studio快速查找内存泄漏

12,使用 hprof-conv -z (跟上你刚刚合并的文件路径.hprof),在跟上你合并的文件路径,在后面添加容易识别的数字!在按 Enter键,

使用Android Studio快速查找内存泄漏

 

13,打开 Memory Analyzer软件上面有网盘链接,

使用Android Studio快速查找内存泄漏

 

14,打开之后点击 File 在点击 Open Heap Dump下拉框 由于截不了图,

15,点击之后会弹框出来!点击你刚刚创建的容易识别的文件

 

使用Android Studio快速查找内存泄漏

 

16,此时会弹框点击Finish

 

使用Android Studio快速查找内存泄漏

 

17,点击Overview,在点击Histogram

 

使用Android Studio快速查找内存泄漏

 

18  点击Group result by 图标

使用Android Studio快速查找内存泄漏

 

19 ,勾选 Group by Package 下拉框截不了图,也就是最后一个

 

20,找到包名!也许你的包名与我的不一样

使用Android Studio快速查找内存泄漏

21,右击勾选

使用Android Studio快速查找内存泄漏

23,自己与开发一起分析结果!我自己也不会了!

使用Android Studio快速查找内存泄漏

相关文章:

  • 2021-04-09
  • 2021-12-04
  • 2021-07-30
  • 2021-07-17
  • 2021-06-18
  • 2022-12-23
  • 2021-09-20
猜你喜欢
  • 2021-07-02
  • 2021-10-18
  • 2021-11-16
  • 2022-01-08
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案