js 不能控制内存的释放,delete、CollectGarbage()都不行
2007-10-21 16:55
309 查看
google_ad_client = "pub-5033576919944123";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
//2007-10-24: csdn.blog
google_ad_channel = "8548491739";
一直很疑惑,delete到底能不能用来释放内存?今天看到如下一段代码,执行后发现脚本脚本执行很慢(后发现原来是alert搞的鬼)
function test()
{
var str = "1"
for (var i = 0; i<25; i++)
{
str += str;
}
alert(str);
delete str;
}
&lt;!--strTest = "1";for ( var i = 0; i &lt; 26; i ++ ){ strTest += strTest;}alert(strTest);delete strTest;//--&gt;
关键是delete删除变量之外并没有看出释放内存的迹象(在页面执行到关闭前,内存使用量都比较稳定,页面关闭后才猛地释放大量内存),这验证了"delete从对象中删除一个属性,或从数组中删除一个元素。"(script56) 后google出一个javascript的未公开函数CollectGarbage() (According to MSDN, CollectGarbage is an undocumented function of the language and it is used for testing only. However this is the only way to force the garbage collection in Javascript, setting a variable to null or deleting it will not destroy the resource until the browser engine is destroyed. ) 效果仍不明显.
google_ad_client = "pub-5033576919944123";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
//2007-10-24: csdn.blog
google_ad_channel = "8548491739";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
//2007-10-24: csdn.blog
google_ad_channel = "8548491739";
一直很疑惑,delete到底能不能用来释放内存?今天看到如下一段代码,执行后发现脚本脚本执行很慢(后发现原来是alert搞的鬼)
function test()
{
var str = "1"
for (var i = 0; i<25; i++)
{
str += str;
}
alert(str);
delete str;
}
&lt;!--strTest = "1";for ( var i = 0; i &lt; 26; i ++ ){ strTest += strTest;}alert(strTest);delete strTest;//--&gt;
关键是delete删除变量之外并没有看出释放内存的迹象(在页面执行到关闭前,内存使用量都比较稳定,页面关闭后才猛地释放大量内存),这验证了"delete从对象中删除一个属性,或从数组中删除一个元素。"(script56) 后google出一个javascript的未公开函数CollectGarbage() (According to MSDN, CollectGarbage is an undocumented function of the language and it is used for testing only. However this is the only way to force the garbage collection in Javascript, setting a variable to null or deleting it will not destroy the resource until the browser engine is destroyed. ) 效果仍不明显.
google_ad_client = "pub-5033576919944123";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
//2007-10-24: csdn.blog
google_ad_channel = "8548491739";
相关文章推荐
- js 不能控制内存的释放,delete、CollectGarbage()都不行
- 用实例证明dll中new的内存不能在exe中释放
- js 控制不能输入空格
- delete 指针之后 ,只是释放了指针指向的内存空间,指针不会自动置为NULL,还有delete 遇到指针为NULL时不会调用析构函数
- 高质量C++编程之(7.5 free 和delete 把指针怎么啦? 7.6动态内存会被自动释放吗?)
- 问题:为什么本例中c++析构函数不能正确释放内存及析构
- 关于C++中delete释放内存时效性问题
- js控制搜索内容为空则搜索按钮不能用
- CollectGarbage函数--JS清理垃圾,内存释放
- 待解决---无名的临时对象,内存到底何时被释放,引用计数是如何控制的
- del 4000 ete 与 delete[] 释放内存
- 模拟new[]和delete[]操作符开辟内存空间及释放内存空间过程
- 用Js控制TextBox不能复制粘贴
- 关于关闭TAB,IFRAME占用的内存不能释放问题
- vector 释放内存需不需要delete
- QList指针中的clear后不会自动释放内存,需要之前调用qDeleteAll()
- C++:delete和delete[]释放内存的区别
- video.js不能控制本地视频或者音频播放时长
- CollectGarbage函数--JS清理垃圾,内存释放
- 控制内存分配----重载new和delete & 定位new表达式