函数范围导致JavaScript内存泄漏?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了函数范围导致JavaScript内存泄漏?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含873字,纯文字阅读大概需要2分钟。
内容图文
![函数范围导致JavaScript内存泄漏?](/upload/InfoBanner/zyjiaocheng/948/7020b11fa36d46bfa8ec63da86ad8ebc.jpg)
使用我最近发现的chrome开发工具,我的应用程序使用了模块化概念,即使我的其他任何应用程序对象未直接引用它们,它们也会在内存中留下一些Module对象.
这里的问题似乎是,它们在某些功能范围中被引用.
如下面的屏幕截图所示:
函数范围中有很多引用.
这是一小段代码,演示了在我的应用程序中如何发生这种情况的多种方式之一.由于模块是在someCallback中引用的,因此有一个引用我无法删除自己了.
function augmentModule(core, module){
var someCallback = function(){
module.stop();
};
module.listenTo(core, "someEvent", someCallback);
}
我的问题是:
这是我真正要担心的真正的内存泄漏吗,还是JavaScript引擎在以后的某个时间点将垃圾回收此对象? JavaScript引擎是否知道“此对象仅从函数和闭包范围中引用,并且没有“真实”引用,因此我可以删除它.” ?
解决方法:
一种方法是在模块子类(augmenModule)中实现拆解方法.该拆解方法将取消绑定该类在初始化时设置的所有观察器函数.处置对象以释放引用并允许垃圾回收关联的内存时,请调用您的拆卸方法.
内容总结
以上是互联网集市为您收集整理的函数范围导致JavaScript内存泄漏?全部内容,希望文章能够帮你解决函数范围导致JavaScript内存泄漏?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。