Invoke async method on remote object got by remote.getGlobal causes memory leak.
imndx opened this issue · 0 comments
imndx commented
The following is the test case.
In the test case, after the callback
has been called, the arrow function
keep been strongly referenced by the remote module
,and cannot be gc collected.
// main process
global.foo = {bar: {
testCallback(cb){
cb && cb('testCallback');
}
}};
// renderer process
let bar = remote.getGlobal('foo').bar;
// create a big array, to make monitor the memory leak easily
let willLeakArray = [];
for (let i = 0; i < 1024 * 1024 * 10; i++) {
willLeakArray.push('' + i);
}
bar.testCallback((value)=> {
console.log('testCallback', value, willLeakArray.length );
})