2013
Nov
07
Javascript 使用 Memory ,跟 c++ , php 等等比起来,用量可是大的吓人,所以要好好的管理 Memory ,不用的时候,就得透过 Browser GC 机制去清除,
最简单的两个清除 Memory 的方式如下:
- obj = null;
- delete obj[property];
接下来就来测试看看,可以用 Chrome 并打开 Chrome 内容的 Task Manager 来检查 Memory。
宣告 Object 来测试
先宣告一个 Object ,并 new 10000 次
- function oo() {
- this.b = {"s": 5};
- this.largeDataArray = new Array(10000);
- }
- var obj = [];
- for (i = 0 ; i < 10000; i++) {
- obj.push(new oo());
- }
用 Chrome 来测试,可以看到总共用到 450 MB 。
释放 Memory 方式一 Null
释放 Memory 方式一
- obj = null;
释放后 Memory 只用 45 MB。
释放 Memory 方式二 Delete
释放 Memory 方式二
- for (pro in obj) {
- delete obj[pro];
- }
释放后 Memory 只用 45 MB。
注意事项
delete obj 是没有用, delete 必须要指定 obj 的 property 才有用, 可以用 console.log(obj) 去检查这个 object 是否还存在。
回應 (Leave a comment)