使用jquery增加内存使用量
我正在开发一个大量使用jquery(UI)的站点,以提供良好的用户体验。 对于某些(愚蠢的)原因,此站点的部分显示在iframe中,并且还有一个用于刷新iframe的按钮以从服务器获取最新数据。
问题是每次刷新iframe时内存使用量都会增加,导致一段时间后出现严重的内存问题(在IE8和9中测试过)。 但这只有在加载jquery库时才会发生。 使用Drip / Sieve时,可以最好地看到此行为。 为了更好地理解这个问题,我删除了导致下面两个文件的所有不必要的代码。 每次重新加载时,内存使用量增加约800 kb。 (如果要重现,请尝试http://jsbin.com/asamid/7 )
我怎样才能防止jquery吞噬我的记忆? 有没有办法在重新加载之前手动卸载所有jquery?
index.htm :(见http://jsbin.com/asamid/7/edit#html,live )
Memory Leak - Parent function reload() { var frame = document.getElementById("testFrame"); frame.src = "frame.htm"; } reload frame
frame.htm :(见http://jsbin.com/ocuval/edit#html,live )
Memory Leak - Frame Test Frame
lorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsum
尝试以下一项或多项:
- 使用对象元素而不是iframe
- 操纵$ .fragments
- 使用jQuery构造函数动态创建iframe