JB *_*aux 5 browser applet jvm
假设我在浏览器的页面中运行了一个applet.当用户关闭浏览器时会发生什么?
是否通知applet,以便它可以执行某种关闭操作(关闭连接打开到服务器,清理静态变量,......)?
此外,我假设相同的行为将适用于页面刷新或页面导航(而不是浏览器关闭).浏览器仍然打开,但applet消失了.虽然当你关闭浏览器时你也关闭了JVM,所以我现在还不确定.
谢谢,JB
是的,应该在浏览器卸载对象之前调用destroy() 方法。
destroy()是 Java applet 的四个“生命周期方法”中的最后一个(其他是init()、start()和stop())。实际上,根据您的浏览器和虚拟机,它们会在不同的时间被调用。如果您想确切地知道每个方法何时被调用,请在您的小程序中实现每个方法,并 System.out 一些反馈。
理想情况下,destroy() 应该由环境调用,并且只应该调用一次。如果 destroy() 看起来没有被调用,您可以声明一个公共的 Finalize() 方法,该方法调用 destroy。您还可以尝试在窗口对象卸载时从 javascript 调用 destroy(),但再次确保您没有不必要地调用 destroy()。
public void finalize () {
destroy();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3693 次 |
| 最近记录: |