【问题标题】:What happens to an applet when browser is closed?当浏览器关闭时,小程序会发生什么?
【发布时间】:2010-09-19 23:05:57
【问题描述】:

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

小程序是否得到通知,以便它可以在其一侧执行某种关闭操作(关闭打开到服务器的连接,清理静态变量,...)?

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

谢谢, JB

【问题讨论】:

    标签: browser applet jvm


    【解决方案1】:

    大多数时候会调用destroy,但是在关闭窗口的情况下没有足够的时间来完成所需的任务。

    刷新时有足够的时间,用Backword导航

    【讨论】:

      【解决方案2】:

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

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

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

      public void finalize () {
          destroy();
      }
      

      【讨论】:

        猜你喜欢
        • 2015-03-25
        • 1970-01-01
        • 2011-01-06
        • 2015-04-03
        • 1970-01-01
        • 2014-11-26
        • 1970-01-01
        • 1970-01-01
        • 2016-12-15
        相关资源
        最近更新 更多