【问题标题】:Which method to save dom should keep less memory?哪种保存dom的方法应该减少内存?
【发布时间】:2015-01-09 12:27:38
【问题描述】:

如果我们需要在内存中保存一段 dom 元素(后面会动态插入到 dom 树中) 哪种方法会减少内存?

方法一:

var a = parentDom.innerHTML;
parentDom = null;

方法2:

var a = parentDom;

【问题讨论】:

  • 你为什么在乎?此外,您是否愿意在序列化/反序列化 DOM 所需的时间与一些假定的内存节省之间进行权衡?
  • 这可能在很大程度上取决于 DOM 树的大小、DOM 的内部内存格式以及在 DOM 中存储了多少在序列化时会丢失的附加数据(如事件处理程序等) .找出答案的最佳方法是尝试这两种方法并进行衡量。

标签: javascript html dom


【解决方案1】:

除非您拥有庞大的结构,否则我认为您不应该担心差异。此外,正如 torazaburo 所提到的,如果您担心此级别的内存,则应考虑反序列化该字符串的 innerHTML 成本。

但是,您应该担心的是任何事件侦听器,如果您只保存序列化的字符串版本,它们将会丢失。此外,您没有整个节点,只有它的内容。

【讨论】:

    猜你喜欢
    • 2013-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    相关资源
    最近更新 更多