Java applet在关闭时没有完全垃圾收集

时间:2010-08-06 04:03:07

标签: java memory memory-management garbage-collection

我有一个java applet,它可以加载一个滚动视图,你可以添加几千个视图,一切正常。如果我关闭该浏览器窗口并打开一个新窗口并再次查看我的applet并开始添加视图,它最终会耗尽内存。当我关闭窗口之前似乎没有发生垃圾收集:

a:关闭窗口后,为什么内存不释放?

b:我怎样才能确保它被释放?

这是带有FF和Safari的最新版java。

2 个答案:

答案 0 :(得分:2)

可能是Java Browser Plugin可以在同一个JVM中启动applet。每次在新窗口中启动applet时,都可以使用applet参数在单独的JVM中启动applet:

<param name="separate_jvm" value="true">

此外,您还可以利用applet的start()stop()destroy()方法来清理正在使用的资源。

关于java插件有一些有趣的事实。检查forum。它有一些重要的链接

答案 1 :(得分:0)

如果没有看到代码,我的猜测就是对窗口或代码中某个组件的引用,以使其可以访问。

相关问题