【发布时间】:2015-05-17 13:09:55
【问题描述】:
如果我理解正确,GC 的工作方式如下:
MyClass.prototype.render = function(){
var largeArray = [];
for (var i = 0; i < 1000; i++) {
largeArray.push({
firstName: 'John',
lastName: 'Smith'
});
}
}
当调用render() 时,largeArray 被标记为垃圾回收,但不会立即被回收。
我很好奇,因为我的手机有一个锁屏小部件。它是一个在锁屏上显示 HTML 页面的浏览器。它的工作原理是每次我加载我的锁屏时都会重新加载小部件。
问题是,我每 5 次打开锁屏,手机就会重新启动到安全模式。似乎当我解锁手机时,小部件浏览器在垃圾收集可以运行之前关闭。听起来对吗?
Here's my widget. 在控制台输出主要对象的大小。
【问题讨论】:
-
GC 依赖于实现。
标签: javascript browser garbage-collection