心得:Javascript的内存释放实验
来源:互联网 发布:node 内存缓慢增加 编辑:程序博客网 时间:2024/05/01 15:11
我以前也看过关于javascript的内存释放的文章,但我从来也没仔细看过。原因:一来我觉得这个东西可有可无,二来,鬼知道这些理论到底有没有科学根据?
今天我做了一个小小的实验,证实内存释放还是有用的。
比如有如下程序:
var a = new Array();
..........
一般a用完了就完了,谁也不会想到去释放a所占用的内存。设想代码:
var a = new Array();
..........
a = null;
有没有用呢?我做了一个实验:
在editplus中编写如下代码:
<HTML>
<BODY>
<SCRIPT LANGUAGE= "JavaScript ">
//------ 使用内存段
for (var i = 0; i < 100000; i++)
{
eval( "a " + i + "= new Array(); ");
}
//--------释放内存段
for (var i = 0; i < 100000; i++)
{
eval( "a " + i + "= null; ");
}
</SCRIPT>
</BODY>
</HTML>
Ctrl+B 运行这个文件以后,我打开win2000的系统监视器,看系统的内存使用情况。结果如下:
在editplus不运行这个网页前,占用的内存大概为8000多K,如果没有加上释放内存段,运行后editplus大概要运行2-3分钟才完成,内存使用数逐步上升,最终占用内存为24000多K时.
而加上了释放内存段的代码后,editplus在开始的2-3分钟内,内存也逐步上升,到了24000多K后,内存占用量开始下降,在接下来的2-3分钟内,内存使用量逐步降到了15000多K.
结论,a = new Array()后, a = null; 释放的确还是有用的,特别是对大型网站。当然,也不是完全释放,比使用前还是要多占一些内存的。 其实,在用完一个数组后,加一个 = null也不会占用多少时间的,但的确是一个好习惯 :)
今天我做了一个小小的实验,证实内存释放还是有用的。
比如有如下程序:
var a = new Array();
..........
一般a用完了就完了,谁也不会想到去释放a所占用的内存。设想代码:
var a = new Array();
..........
a = null;
有没有用呢?我做了一个实验:
在editplus中编写如下代码:
<HTML>
<BODY>
<SCRIPT LANGUAGE= "JavaScript ">
//------ 使用内存段
for (var i = 0; i < 100000; i++)
{
eval( "a " + i + "= new Array(); ");
}
//--------释放内存段
for (var i = 0; i < 100000; i++)
{
eval( "a " + i + "= null; ");
}
</SCRIPT>
</BODY>
</HTML>
Ctrl+B 运行这个文件以后,我打开win2000的系统监视器,看系统的内存使用情况。结果如下:
在editplus不运行这个网页前,占用的内存大概为8000多K,如果没有加上释放内存段,运行后editplus大概要运行2-3分钟才完成,内存使用数逐步上升,最终占用内存为24000多K时.
而加上了释放内存段的代码后,editplus在开始的2-3分钟内,内存也逐步上升,到了24000多K后,内存占用量开始下降,在接下来的2-3分钟内,内存使用量逐步降到了15000多K.
结论,a = new Array()后, a = null; 释放的确还是有用的,特别是对大型网站。当然,也不是完全释放,比使用前还是要多占一些内存的。 其实,在用完一个数组后,加一个 = null也不会占用多少时间的,但的确是一个好习惯 :)
- Javascript的内存释放实验心得
- 心得:Javascript的内存释放实验
- Javascript的内存释放实验
- Java内存释放心得
- Java内存释放心得
- 关于内存释放的讨论实验
- [js][内存泄露][内存回收][内存释放]avascript的内存释放实验
- [js][内存泄露][内存回收][内存释放]avascript的内存释放实验
- JavaScript内存释放
- javascript如何释放内存
- Javascript IE 内存释放
- JavaScript内存释放
- JavaScript内存释放笔记
- javascript 释放变量内存
- Javascript内存释放
- 关于ie的内存泄漏与javascript内存释放
- 关于ie的内存泄漏与javascript内存释放
- 关于ie的内存泄漏与javascript内存释放
- SQLPLUS常用命令
- 关于IE下的内存回收研究.
- (Android开发)在已有布局中动态添加控件
- Android中SQLite数据库存储方式
- 谁能解释一下v$sqlarea,v$sql,v$sqltext这个3个视图的作用与区别?
- 心得:Javascript的内存释放实验
- OOA&D实践之路——真实案例解析OO理论与实践(五、需求分析之前的故事)
- SharedPreferences
- JNI编程—— 让C++和Java相互调用
- protocol-ftp
- 40、left join 和 left outer join 的区别
- Android面试题之三(...)
- D3D基础 – 光照,材质与着色
- IO - 同步,异步,阻塞,非阻塞