SnapShot定位,有人知道怎么处理吗?

SnapShot定位

HarmonyOS
2024-05-20 22:01:57
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

1.1 使用Profiler Snapshot进行录制

打开应用,初始化场景 -> 开启录制Snapshot -> 拍摄第一次Snapshot -> 多次触发内存泄漏操作 -> 拍摄第二次-> 结束录制

1.2 Chrome Dev Tools工具

打开Chrome——按 F12 打开 chrome 控制台(Chrome Dev Tools)

1.3 Chrome Dev Tools工具导入快照

保存录制好的.insight文件,用压缩包的形式打开.insight的文件,.heapsnapshot文件就是对应的快照。.heapsnapshot文件可以在Chrome Dev Tools工具上导入打开

Chrome Dev Tools导入.heapsnapshot文件:

l Profilers上鼠标右键后点击Load

l或直接点击Load

1.4 基准

以右边.heapsnapshot文件为基准

1.5 LexicalEnv

闭包变量上下文;闭包是一个链状结构,如下所示:

23797这个节点本身是一个闭包数组,其中0号元素是调用者(或者再往上的调用者,以此类推)的闭包;1号存储的是调试信息,不用关心;2号及以后的元素存储的就是闭包传递的变量,上例传递了两个变量,分别是undefined和object。

2 分析

1. 查找没有释放对象对应的引用链

结合代码,发现testData可疑。46895这个对象是LexicalEnv的3号元素,表明出现了闭包

2. 右键闭包下的任意一个,看详细信息

3.

可以看到在SecondPage中定义的该TestData对象

4. 结合代码,找到对应点


分享
微博
QQ
微信
回复
2024-05-22 15:51:56
相关问题
有人知道社区怎么预约直播
1243浏览 • 1回复 已解决
有人知道怎么在markdown里面写目录
1108浏览 • 1回复 已解决
怎么压缩一个目录?有人知道
320浏览 • 1回复 待解决
有人知道轻量系统上怎么使用MQTT
1247浏览 • 2回复 已解决
ets组件定位问题有知道?
1658浏览 • 1回复 待解决
有人知道关于页demo
386浏览 • 1回复 待解决
webview组件demo ,有人知道
413浏览 • 1回复 待解决
taskpool 使用问题,有人知道
387浏览 • 1回复 待解决
如何保存faultLogger ,有人知道
136浏览 • 1回复 待解决
有人知道JS menu如何隐藏
3079浏览 • 1回复 待解决
如何发送短信,有人知道?
547浏览 • 1回复 待解决
如何跳出ForEach,有人知道
581浏览 • 1回复 待解决
导包报错,有人知道原因
565浏览 • 1回复 待解决
有人知道发布页demo
418浏览 • 1回复 待解决
clientid相关问题,有人知道
442浏览 • 1回复 待解决
导航栏如何适配,有人知道?
546浏览 • 0回复 待解决
如何使用快速修复,有人知道
211浏览 • 1回复 待解决
List组件性能问题,有人知道
584浏览 • 1回复 待解决