在家过完了年,感觉精神很爽。明天大家可能都就上班了,新的一年开始了,希望大家新年新气象IE的JScript解析器可能有Memory Leak。而其我已经发现一点点新年的灵感了哦~,我原来发现IE中的JScript解释器可能有的Memory Leak的问题,可老是早不到出问题的代码,今天一下就逮到了一个可以复现的case~~

    想当初我做那个无刷新的JScript TreeView控件时,硬是被折磨坏了IE的JScript解析器可能有Memory Leak。IE进程IEXPLORE.EXE的内存使用量常常串到200M左右,搞得我的JScript代码运行狂慢,有的时候展开一个Node需要好几秒钟@_@。

    复现这个Bug的代码如下:
IE的JScript解析器可能有Memory Leak<html>
IE的JScript解析器可能有Memory Leak
<head>
IE的JScript解析器可能有Memory Leak    
<title>IE Memory Leak Bug</title>
IE的JScript解析器可能有Memory Leak
</head>
IE的JScript解析器可能有Memory Leak
<body>
IE的JScript解析器可能有Memory Leak
<button onclick="GenerateObjects(this)">Append Elements</button>
IE的JScript解析器可能有Memory Leak
<div id="container"></div>

    运行上面的代码,不断的点击"Generate Elements"按钮,IEXPORE.EXE的内存使用量(PM+VM)持续的上涨。这时不管你点"Refresh"还点"Go"按钮,IE的内存使用量始终不会减少IE的JScript解析器可能有Memory LeakIE的JScript解析器可能有Memory LeakIE的JScript解析器可能有Memory Leak。除非关掉IE在重新打开,内存才能被释放。

    问题出在上面示例代码中打"*"的那两句话上,只要注释掉任意一句,Refresh页面后,IEXPORE.EXE的内存使用量就会降到刚打开IE是那个水平上。

    有兴趣欢迎您测试一下这个例子,看看是不是会Memory Leak?

    相关文章:
        ·继续来研究JScript解析引擎的GC问题

相关文章:

  • 2021-12-04
  • 2021-11-23
  • 2021-09-05
  • 2022-12-23
  • 2022-12-23
  • 2021-10-05
  • 2021-09-03
  • 2021-11-08
猜你喜欢
  • 2022-12-23
  • 2021-05-07
  • 2021-12-31
  • 2022-02-09
  • 2021-11-19
  • 2021-07-25
相关资源
相似解决方案