Lixo variável global de elétrons coletado se o processo do renderizador for fechado?
No Electron, eu tenho meu processo principal abrindo uma Janela do Navegador. O BrowserWindow carrega uma página html e, em seguida, a mesma janela carrega outra página html.
main.js
var mainWindow;
global.mainState = {
settings: {}
}
mainWindow = createWindow('main', {
width: 1000,
height: 800,
});
if (curState == 'load') {
mainWindow.loadURL(`file://${__dirname}/interface/load.html`, {})
}
if (curState == 'login') {
mainWindow.loadURL(`file://${__dirname}/interface/login.html`, {})
}
load.html
const remote = require('electron').remote;
var testGlobal = remote.getGlobal('mainState')
testGlobal.settings = 'test value'
testGlobal.settings.inner = 'test value2'
Quando o main.js carregar a segunda página (login.html), a variável global será excluída / desreferenciada? Os documentos dizem que, se o processo do renderizador derreferenciar uma variável global, a variável será atribuída a gc'd. Quando tento testar isso, obtenho resultados inconsistentes e gostaria de algumas explicações de alguém mais sábio que eu.