小编son*_*ney的帖子

JavaScript关闭内存泄漏

我有一个Javascript垃圾收集/内存泄漏问题.我在OS X 10.8.4上使用Chrome 28.0.1500.71.

以下代码永远不会释放所持有的空间,me我对此无能为力.

var MyClass = function() {
    this.x = 1;

    var self = this;
    this.do_thing = function() {
        self.x++;
    };
};
MyClass.prototype.destroy = function() {
    delete this.do_thing;
};

var me = new MyClass();
me.do_thing();
me.destroy();
me = null;

// the MyClass object formerly known as 'me' is still allocated here
// (as evidenced by Chrome's heap profiler)
Run Code Online (Sandbox Code Playgroud)

Chrome似乎在内存中保留由表达式new MyClass()(在me设置之前指向的对象)创建的对象,null因为它self在调用中被引用me.do_thing().但是,我会想到调用destroy(),unsets me.do_thing会抛弃构造函数范围内的变量(self在 …

javascript garbage-collection memory-leaks google-chrome google-chrome-devtools

5
推荐指数
1
解决办法
523
查看次数

Google Chrome开发者工具中的自定义堆栈跟踪?

我想在Google Chrome开发人员工具的"脚本"标签中自定义显示在strack trace面板中的项目.具体来说,我想过滤掉堆栈跟踪中的项目,并为堆栈跟踪中的某些项目添加更多描述性名称,而无需重命名我的对象和函数.

我在http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi找到了V8的Stack Trace API,但是覆盖Error.prepareStackTrace似乎没有任何效果.

javascript google-chrome v8 chromium

3
推荐指数
1
解决办法
2948
查看次数