我有一个经常更新的信息表。这是使用每行包含10个div的容器div展示的。哪个是内存泄漏最安全的方法
我使用setInterval来调用一个返回一些json格式信息的asmx webservice。
在成功回调函数上,我在容器div上调用$("#myContainer").empty();
,并为每行的列重新创建行和10个嵌套div。
这个页面可能会运行一整天,所以我很警惕更新DOM,因为我已经注意到随着时间的推移(IE8)浏览器的内存确实增加。
我正在考虑的另一种方法是添加一个id到行div。当新结果处理每个数据项时,如果它存在覆盖每个div中的数据,则查找相应的行。如果它不存在(例如新数据),请追加该行。
其他人使用什么方法来处理这种长期存在的伪实时信息显示。
TIA
这是一个公认的事实吗?你有没有参考,不是我怀疑你,它会更好地阅读更多。 – raveren 2010-04-09 11:42:50
@Raveren:不,这不是一个可靠的事实。实际上,这是一种非常悲观的方式,因为我确信现代浏览器在创建/删除DOM元素时不仅能够管理内存。尽管如此,在长时间的Web应用程序(那些开放了几天)中发现内存泄漏是一件令人头疼的事情,我总是试图坚持这种悲观主义的方式。显然这对于复杂的GMail风格的应用程序来说是不可能的。但看起来OP只是简单地实时更新数据表,在这种情况下,我会尝试我先建议的方法。 – 2010-04-09 11:54:06