修复内存问题
创作时间:
作者:
@小白创作中心
修复内存问题
引用
1
来源
1.
https://learn.microsoft.com/zh-cn/microsoft-edge/devtools-guide-chromium/memory-problems/
修复内存问题
若要查找影响页面性能的内存问题,包括内存泄漏、内存膨胀和频繁的垃圾回收,请使用以下工具:
- Microsoft Edge 浏览器任务管理器。
- “性能”工具的“内存”复选框。
- 内存工具的各种分析类型。
用于调查内存使用情况的工具
用例 | 工具 | 文章 |
---|---|---|
实时监视网页使用的内存量。 | Microsoft Edge 浏览器任务管理器 | Microsoft Edge 浏览器任务管理器) 实时监视内存使用情况 ( |
可视化网页在一段时间内的内存使用情况。 | 性能工具 >“内存”复选框 | (性能工具可视化内存泄漏:性能功能参考中的内存复选框) 。 |
发现频繁的垃圾回收。 | Microsoft Edge 浏览器任务管理器或性能工具 >内存复选框 | (Microsoft Edge 浏览器任务管理器、性能工具的“内存”复选框) ,发现频繁的垃圾回收。 |
检查网页使用的内存的内容。 | 内存工具>堆快照 | 使用内存工具 (“堆快照”分析类型) 记录堆快照 |
找出在一段时间内创建的 JavaScript 对象,以隔离内存泄漏。 | 时间线上的内存工具>分配 | 对时间线 (“时间线上的分配”分析类型使用分配检测) |
了解哪些 JavaScript 函数在一段时间内分配内存。 此配置文件类型具有最小的性能开销,可用于长时间运行的操作。 | 内存工具 >分配采样 | 加快 JavaScript 运行时 (“分配采样”分析类型) |
查找 DOM 树内存泄漏。 | 内存工具 >分离元素 | 调试 DOM 内存泄漏 (“分离元素”分析类型) |
内存工具
用于调查内存问题的main工具是内存工具:
内存工具中的分离元素配置文件:
若要返回到用于分析类型的选项按钮列表,请在“内存”工具的左上角单击“配置文件”, (“
) 。
修复内存问题的概述
本着RAIL性能模型的精神,性能工作的重点应该是用户。
内存问题很重要,因为它们通常可由用户察觉。 用户可以通过以下方式感知内存问题:
- 随着时间的推移,页面的性能会逐渐恶化。 这可能是内存泄漏的症状。 内存泄漏是页面中的 bug 导致页面随着时间的推移逐渐使用越来越多的内存时。
- 页面的性能一直很差。 这可能是内存膨胀的症状。 内存膨胀表示页面使用的内存超过最佳页面速度所需的内存。
- 页面的性能延迟或似乎经常暂停。 这可能是垃圾回收频繁的症状。 垃圾回收是浏览器回收内存时。 浏览器决定何时发生这种情况。 在集合期间,将暂停运行的所有脚本。 因此,如果浏览器进行大量垃圾回收,脚本运行时将暂停很多。
内存膨胀:“太多”是多少?
内存泄漏易于定义。 如果站点逐渐使用越来越多的内存,则存在泄漏。 但内存膨胀有点难固定。 什么限定为“使用过多内存”?
这里没有硬数字,因为不同的设备和浏览器具有不同的功能。 在高端智能手机上平稳运行的同一页面可能会在低端智能手机上崩溃。
此处的关键是使用 RAIL 模型并专注于用户。 了解哪些设备在用户中很受欢迎,然后在这些设备上测试页面。 如果体验一直不好,页面可能会超过这些设备的内存功能。
Microsoft Edge 浏览器任务管理器、性能工具的“内存”复选框 () 发现频繁的垃圾回收
如果页面似乎经常暂停,则可能是垃圾回收问题。 若要发现频繁的垃圾回收,可以使用以下任一方法:
- Microsoft Edge 浏览器任务管理器。 经常上升和下降的内存或JavaScript 内存值表示频繁的垃圾回收。 请参阅实时监视内存使用情况 (Microsoft Edge 浏览器任务管理器)。
- “性能”工具的“内存”复选框。 在性能内存记录中,频繁更改 (JS 堆或节点计数图) 上升和下降表示垃圾回收频繁。 请参阅性能功能参考中的查看内存指标。
使用其中任一工具确定问题后,可以对时间线分析类型使用内存工具的分配,找出分配内存的位置以及导致分配的函数。 请参阅对时间线 (“时间线上的分配”分析类型) 使用分配检测。
查找从分离元素中泄漏的 DOM 树内存
当页面上运行的 DOM 树或 JavaScript 代码中没有引用该节点时,浏览器才会对 DOM 节点进行垃圾回收。 当从 DOM 树中删除节点时,节点称为“分离”,但某些 JavaScript 仍引用它。 分离的 DOM 节点是内存泄漏的常见原因。
用于调查分离元素的工具
用例 | 工具 | 文章 |
---|---|---|
仅将分离的元素显示为 DOM 树节点。 | 内存工具 >分离元素分析类型 | 调试 DOM 内存泄漏 (“分离元素”分析类型) |
显示内存中的所有对象,经过筛选以显示分离的元素,以及指向 JavaScript 源代码的链接。 | 内存工具>堆快照分析类型>分离 | 查找 DOM 树内存泄漏 (“堆快照”分析类型 > 分离)使用内存工具 (“堆快照”分析类型) 记录堆快照。 |
仅将分离的元素显示为 DOM 树节点,并链接到 JavaScript 源代码。 | 分离的元素工具 | 使用分离元素工具调试 DOM 内存泄漏 |
另请参阅
外部:
- 使用 Chrome DevTools 在 JavaScript 中查找和调试内存泄漏- Gonzalo Ruiz de Villa) (幻灯片组,这也适用于 Microsoft Edge DevTools。
热门推荐
牛奶喝不对等于“白喝”,尤其是这个“奶”,很多人都爱喝
风寒感冒与风热感冒的区别:症状对比与诊断要点
如何有效留存证据:保护自身合法权益的法律指南
机动车年检在哪里办理:法律法规及流程解读
MyBatisPlus条件查询详解
二代身份证挂失指南:线上线下两种方式,这些步骤要记牢
如何办理二代身份证挂失手续?
深入解析 Spring WebFlux:原理与应用
你的老鼠还吃不到分?阵容加强后玩法思路解析看完轻松变成鼠王!
氧化钨的理化性质:解析其独特魅力
哈佛大学最新研究:每周吃5份黑巧克力,2型糖尿病风险降低21%
腕管综合征的三种训练方法,缓解疼痛和麻木
如何正确饲养黄颈亚马逊鹦鹉?(让宠物鹦鹉健康快乐地成长)
收藏:工资个税申报错误如何更正申报(含注意事项)
如何进行服务器端口扫描检测?
“平靓正”的深圳莲塘,成香港银发族新“耆英之城”丨深圳消费新观察
高速交警利用监控视频查获多起违法停车
秋季最怕“燥”:分3步内调,让你由内到外润起来
芹菜可以促进消化吗?
女真族是现在哪个民族 发展历史是怎样的
肺部小结节:你需要知道的科普知识
查出肺部结节怎么办,医生总结六点注意
五图读懂香港交易所沪深港通的十年蓬勃发展
劳动合同签补充协议合法吗
山东16市2024上半年经济“竞速”:凸显“头号工程”成色
儿童扭伤急救,避免二次伤害
十种实用措施,全方位保护文档数据安全
“挂靠”代缴社保省钱又省心?人社部回应
注射节育+人工摘果 路边芒果树果熟滋生问题得到治理
Excel表格内怎么加斜杠