当浏览器关闭时,小程序会发生什么?

5
假设我在浏览器页面中运行了一个小程序。当用户关闭浏览器时会发生什么?
小程序是否会被通知,以便它可以执行一些关闭操作(关闭与服务器打开的连接、清除静态变量等)?
此外,我认为在页面刷新或页面导航时会出现相同的行为(而不是关闭浏览器)。浏览器仍然打开,但小程序已经消失了。虽然当您关闭浏览器时,也会关闭JVM,所以我现在不确定。
谢谢, JB
2个回答

2
是的,在浏览器卸载对象之前应该调用destroy()方法destroy()是Java小程序的四个“生命周期方法”中的最后一个(其他三个是init()start()stop())。实际上,它们根据您的浏览器虚拟机在不同的时间调用。如果您想确切知道每个方法何时被调用,请在小程序中实现每个方法,并输出一些反馈信息。
理想情况下,应该由环境调用destroy(),并且只应该调用一次。如果似乎没有调用destroy(),可以声明一个public finalize()方法,其中调用destroy。您也可以尝试在窗口对象卸载时从javascript调用destroy(),但是请确保您不会不必要地调用destroy()。
public void finalize () {
    destroy();
}

1

大多数情况下,会调用destroy方法,但在关闭窗口的情况下,它没有足够的时间执行所需的任务。

当刷新、向后导航<-和向前导航->时,它会获得足够的时间。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接