【发布时间】:2012-01-23 23:23:09
【问题描述】:
一直在开发一个应用程序,由于它变得有点太大,我一直在考虑改进内存管理的方法,因为该应用程序主要在 Javascipt 上运行。因此,每次单击导航项时,我都会将 jquery 称为空,然后通过 ajax 显示 html。例如:
//$.ajaxSetup(); called before this
//$this is the attached element
$.ajax({success:function(data){
$this.empty().html(data.output).fadeIn(400);
//more javascript stuff like loading tinymce or jquery ui
}});
这足以防止内存泄漏吗?我不完全确定 empty 是做什么的,但我假设它会删除该 div 中的所有 DOM 元素以及任何其他对象和事件?顺便提一句。你可以在这里找到应用程序http://webproposalgenerator.com/ 和http://webproposalgenerator.com/demo。
任何关于提高性能/安全性的提示或任何反馈都将不胜感激。
【问题讨论】:
-
你有内存泄漏还是这只是一个学术讨论?您可以在现代浏览器中使用开发人员工具来检查内存泄漏。如果您不确定
.empty()做了什么,那么这里是documentation。它删除子元素及其数据和事件处理程序以及元素本身。 -
哪些浏览器正在/正在显示看起来像内存泄漏的行为?
-
目前还没有任何内存泄漏,我只是想计划一下,因为我正在重做大部分核心框架。我知道在 PHP 中,unset() 是尝试清除内存块时要走的路,是否有 javascipt/jquery 等价物?
标签: javascript jquery performance memory