星期日, 5月 12, 2013

減少JavaScript記憶體使用量

以下截錄 Ajax in Action (Ajax 實戰手冊)
  • Reuse DOM Nodes (重用DOM節點)
    Create Always 與 Create If Not Exists
  • Unlink On Hide (隱藏時斷開連結)
    即不用display=none 而用 node.parentNode.removeChild(node);
  • Break Cyclic References (斷開循環參考)
    node = null 及 node內的用到的obj也要 null
表8.4 ClickBox Benchmark
IDReuse DOM NodesUnlink On HideBreak Cyclic RefsFinal Memory Use (IE)
ANNN166 MB
BNNN84.5 MB
CNYN428 MB
DYNN14.9 MB
EYNY14.6 MB
FYYN574 MB
GYYY14.2 MB

~
本以為reuse會最省,沒想到F居然會佔最高
有使用Unlink On Hide只有G才會降低記憶間用量,C & F 都爆了
所以開發時不要用!(誤)

沒有留言: