码迷,mamicode.com
首页 > Web开发 > 详细

js内存泄漏

时间:2015-09-01 21:18:04      阅读:334      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!