Javascript 文档Dom树与分离的Dom树?
Javascript 文档Dom树与分离的Dom树?,javascript,memory-leaks,google-chrome-devtools,Javascript,Memory Leaks,Google Chrome Devtools,我正在使用chrome查找内存泄漏(新手:)
如何识别内存泄漏的位置
什么是文档DOM树和分离的DOM树
谁能解释一下吗?识别内存泄漏的步骤。
从隐姓埋名模式开始
打开你的申请表
打开Chrome开发工具(我喜欢在自己的窗口中完全最大化地打开它)
点击配置文件
使用“获取堆快照”选项并单击“快照”
对应用程序执行一些特定步骤
点击左上角的黑色圆圈,再拍一张快照
再重复步骤5至7 2次
检查保留的大小-如果它继续增加-您有内存问题
在时间线选项卡下,单击垃圾收集器按钮
再拍一张快照,看看内存是否降
我正在使用chrome查找内存泄漏(新手:)
如何识别内存泄漏的位置
什么是文档DOM树和分离的DOM树
谁能解释一下吗?识别内存泄漏的步骤。
从隐姓埋名模式开始李>
打开你的申请表
打开Chrome开发工具(我喜欢在自己的窗口中完全最大化地打开它)
点击配置文件
使用“获取堆快照”选项并单击“快照”
对应用程序执行一些特定步骤
点击左上角的黑色圆圈,再拍一张快照
再重复步骤5至7 2次
检查保留的大小-如果它继续增加-您有内存问题
在时间线选项卡下,单击垃圾收集器按钮
再拍一张快照,看看内存是否降到了合理的水平
识别分离的DOM树的步骤
要检测分离的DOM树,请单击其中一个快照上的Profile选项卡
您将看到许多对象—请尝试通过键入DOM对其进行过滤,如图所示
如果您看到任何分离的DOM树,那么您“可能”有问题。您正在做的事情可能需要保留一些DOM用于克隆等,因此必须排除这种情况。如果您看到任何超出此范围的DOM,您需要担心它们,特别是如果这是一个单页应用程序,因为其他应用程序很快就会重新加载整个程序,这可能会清除内存
您可以检查分离的DOM树,如下所示
要检查DOM是什么,您可能需要将鼠标悬停在红色HTML元素上,如下所示。这有助于在找到DOM后进行调试
什么是“文档DOM树”?
整个文档内部是一个大DOM树。文档是XML,标记嵌套在一起,从而形成一棵树。(DOM-文档对象模型。)
那么什么是“分离的DOM树”?
HTML元素是消耗内存的对象的实例。
每个这样的元素都可以存储事件监听器和与之相关的数据。
现在,“分离的DOM树”只不过是浏览器内存中的DOM,但没有连接到主DOM树(也称为“文档DOM树”)
通过检查这些挂起的对象,我们可以检测问题并避免内存泄漏
解决这个问题是一个广泛的话题,因为你可能会看到一些不同的解决方案。下面的帖子介绍了一些人为解决这个问题所做的工作
@hbhantol,感谢您提供详细信息。感谢您的时间和努力。:)谢谢你@bhantol!如果有人需要重新创建分离的DOM树场景,请遵循以下步骤: