Browser 浏览器关闭时小程序会发生什么情况?

Browser 浏览器关闭时小程序会发生什么情况?,browser,applet,jvm,Browser,Applet,Jvm,假设有一个小程序在浏览器的页面中运行。 当用户关闭浏览器时会发生什么情况 是否通知小程序,使其能够执行某种关闭操作(关闭打开到服务器的连接、清理静态变量等) 此外,我假设同样的行为也适用于页面刷新或页面导航(而不是浏览器关闭)。浏览器保持打开状态,但小程序不见了。虽然当你关闭浏览器时,你也会关闭JVM,所以我现在不确定 谢谢, JB是的,应该在浏览器卸载对象之前调用destroy()方法 destroy()是Java小程序的四种生命周期方法中的最后一种(其他方法是init()、start()和s

假设有一个小程序在浏览器的页面中运行。 当用户关闭浏览器时会发生什么情况

是否通知小程序,使其能够执行某种关闭操作(关闭打开到服务器的连接、清理静态变量等)

此外,我假设同样的行为也适用于页面刷新或页面导航(而不是浏览器关闭)。浏览器保持打开状态,但小程序不见了。虽然当你关闭浏览器时,你也会关闭JVM,所以我现在不确定

谢谢, JB

是的,应该在浏览器卸载对象之前调用destroy()方法

destroy()是Java小程序的四种生命周期方法中的最后一种(其他方法是init()start()stop())。实际上,根据您的浏览器和虚拟机的不同时间调用它们。如果您想确切地知道调用每个方法的时间,请在小程序中实现每个方法,并向System.out发送一些反馈

理想情况下,destroy()应该由环境调用,并且只能调用一次。如果似乎没有调用destroy(),则可以声明一个公共finalize()方法,该方法调用destroy。当窗口对象卸载时,您也可以尝试从javascript调用destroy(),但是再次确保您没有不必要地调用destroy()

public void finalize () {
    destroy();
}

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

它在刷新、使用Backword导航时有足够的时间