首页 > Web开发 > 详细

js内存泄漏

时间:2015-09-01 21:17:53      阅读:363      评论:0      收藏:0      [点我收藏+]

关于内存泄漏的基本概念可以参考以下两篇文章:

http://boke.io/javascriptnei-chang-jian-nei-cun-xie-lou-yuan-yin/

http://boke.io/gao-ding-nei-cun-xie-lou/

其中内容讲到dom情况引起的泄漏,讲的不够详细,由于原文代码引入了zepto,而在zepto绑定事件的时候,会产生闭包保存了对原dom元素的引用,导致即使将dom清空,事件如果不off的话,dom还是不会回收。

重复清空的结果,会导致dom、listener的数量不断上升,同时通过profile的snapshot看到,closure数量不断上升。

 

dom数量,从snapshot中看到detached Dom tree的count在不断增加

技术分享

同时闭包增加如下:

技术分享

对应zepto代码如下:

技术分享

 

题外话,还没发现单纯的js泄漏导致的严重问题,最近发生的情况是,使用了大量的css3动画,每个动画元素比较复杂,导致ios crash,ios7比较明显,ios8概率变小但还是会发生。参考资料显示,大量复杂css3动画导致gpu内存不够导致,目前没有很好的解决办法

 

js内存泄漏

原文:http://www.cnblogs.com/luke001/p/4776730.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!