1

我有一个页面,我在 Chrome 中加载了时间轴,第 5 秒后,你可以看到三个尖峰。在第 7 秒页面加载并稳定后。看起来 chrome 已经分配了内存,但没有垃圾收集它们。

在将近 11 秒(图 1 上有黑色标记),我在时间轴上按垃圾收集,我看到所有内存释放到 3 MB。内存下降到 3MB 后,我的页面可以正常工作。

我的目标是找到内存泄漏(如果有的话)。但是在垃圾收集之后,内存下降了,它仍然可以正常运行。

  1. 页面加载后是否有强制垃圾收集?这样移动设备上的内存会自动释放吗?
  2. 在图 2 中,这些名称是什么?它们看起来不像我的库中使用的那样(我的库的名称是 WebAtoms),所以我可以忽略它们吗?
  3. 我的库 WebAtoms 几乎没有以黄色显示的对象,这是什么意思(图 3)?
  4. 是否有任何教程或深入分析如何理解这些配置文件/时间表以及它们的含义?
  5. 有没有直接的方法来获取有关内存泄漏的信息?

图 1

在此处输入图像描述

图 2

在此处输入图像描述

图 3 在此处输入图像描述

4

1 回答 1

0

您无法控制 javascript 中的垃圾收集,您可以删除 properties 或设置 null 值以提示 GC 。

垃圾收集从一个浏览器到另一个浏览器的处理方式不同,因为它们中的大多数都有自己的 javascript VM。因此,Chrome 可能适用的情况在本机移动浏览器上可能不适用。

至于如何优化代码,就看代码是什么了。

想要一些关于如何使用所有这些混乱的提示吗?

https://developers.google.com/chrome-developer-tools/docs/heap-profiling

于 2012-07-16T12:04:44.543 回答