dump java heap,GPU,Lint

dump java heap:https://blog.csdn.net/u010127332/article/details/82424472

Heap Dump是什么?
Heap Dump 也被称为 堆转储文件,是一个Java进程在某个时间点上的内存快照。Heap Dump是有着多种类型的。不过总体上heap dump在触发快照的时候都保存了java对象和类的信息。通常在写heap dump文件前会触发一次FullGC,所以heap dump文件中保存的是FullGC后留下的对象信息。

堆转储文件是诊断内存相关问题的重要信息来源,例如内存泄漏,垃圾收集问题 和 java.lang.OutOfMemoryError,同时它也是优化内存消耗的重要依据。
 

  • Allocations:堆中的实例数。
  • Shallow Size:此堆中所有实例的总大小(以字节为单位)。其实算是比较真实的java堆内存
  • Retained Size:为此类的所有实例而保留的内存总大小(以字节为单位)。这个解释并不准
  •  
  • Depth:从任意 GC 根到所选实例的最短 hop 数。
  • Shallow Size:此实例的大小。
  • Retained Size:此实例支配的内存大小(根据 dominator 树)。

hallow Size基本能真是反应Java堆内存,而Retained Size却明显要高出不少, 因为Retained Size统计总内存的时候,基本不能避免重复统计的问题

总结

  • 总体Java内存使用看shallow size
  • retained size只是个参考,不准确,存在各种重复统计问题
  • FinalizerReference retained size 大小极其不准确,而且其强引用的对象并没有被算进去,不过finilize确实可能导致内存泄漏
  • native size再8.0之后,对Bitmap的观测有帮助。

GPU:https://www.jianshu.com/p/310c41c2eee1

在手机设置,开发者选项,打开gpu绘制,手机就能看到图像, 红色是应该是 三层,再多也是红色。

Lint:https://www.jianshu.com/p/d6068542b00b

发布了569 篇原创文章 · 获赞 476 · 访问量 49万+

猜你喜欢

转载自blog.csdn.net/qq_38998213/article/details/104590028
今日推荐