参考链接:http://www.ibm.com/developerworks/cn/web/wa-jsmemory/

1.闭包

如果闭包里有setInterval或者其它的方法引用了闭包内部的变量,那闭包所在对象不会被释放。

2.控制台日志

console.log在控制台的时候,对象不会被释放。(即使设置为null,仍然存在内存中)

3.循环

在两个对象彼此引用且彼此保留时,就会产生一个循环,如果这时候有第三方对象引用了他们其中的一个,那另一个也不会被释放。

 

Chrome 的 Heap Profiler 是一个诊断内存问题的宝贵工具,在开发时定期使用它也是一个不错的选择。

在创建对象时要计划该对象的清理工作,这比在以后将一个清理阶段移植到应用程序中要容易得多。常常要计划删除事件侦听器,并停止您创建的间隔。如果认识到了您应用程序中的内存使用,您将得到更可靠且性能更高的应用程序。

posted on 2016-03-23 11:25  翻页工  阅读(146)  评论(0编辑  收藏  举报