如果我理解正确,垃圾回收器的工作原理如下:
MyClass.prototype.render = function(){
var largeArray = [];
for (var i = 0; i < 1000; i++) {
largeArray.push({
firstName: 'John',
lastName: 'Smith'
});
}
}
当调用
render()
时,largeArray
被标记为垃圾回收,但不会立即回收。我很好奇,因为我有一个锁屏小部件。它是一个浏览器,在锁屏上显示HTML页面。每次加载我的锁屏时,它都会重新加载。问题是,每隔约5次打开锁屏,手机就会重启到安全模式。似乎当我解锁手机时,小部件浏览器被关闭之前无法运行垃圾回收。这听起来合理吗? 这是我的小部件。在控制台中输出主要对象的大小。