我们有一个在浏览器窗口外面运行的java applet。我总是假设通过单击X关闭窗口(或右键单击任务栏并选择关闭),您只需要关闭小程序。
然而,事实证明,当这样关闭时,我们的applet每次都会崩溃Safari(在Mac和Windows中)。
当applet关闭时,我应该在代码中做些什么吗?代码中出现的第一个罪魁祸首是为Jabber / XMPP执行插槽连接的类/库。
答案 0 :(得分:1)
使用applet中的destroy()生命周期回调来处理已打开的所有资源(线程,套接字等)。如果你不这样做会发生什么变化每个浏览器,但根据我的经验(主要是Firefox)线程通常会继续运行,强制重新启动浏览器以重新加载你的应用程序。不光滑。我没有因此而看到崩溃,但无论如何处置资源都是一种很好的做法。