我有一个java applet,它可以加载一个滚动视图,你可以添加几千个视图,一切正常。如果我关闭该浏览器窗口并打开一个新窗口并再次查看我的applet并开始添加视图,它最终会耗尽内存。当我关闭窗口之前似乎没有发生垃圾收集:
a:关闭窗口后,为什么内存不释放?
b:我怎样才能确保它被释放?
这是带有FF和Safari的最新版java。
答案 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)
如果没有看到代码,我的猜测就是对窗口或代码中某个组件的引用,以使其可以访问。