我一直在研究一个在java applet中玩的游戏。一切正常,直到您尝试刷新页面。它似乎经常“保留”到目前为止使用的applet,并在同一个applet中重新启动游戏。没有创建新进程,并且ram使用率上升(~250mb而不是〜140mb),并且applet使用相同的控制台。绘图过程也很滞后;它经常会在再次绘制之前跳过大约0.5秒的帧。
它有时只会完全刷新applet;创建一个新进程(如Windows的任务管理器中所示),一个新的控制台打开,它使用较少的ram;它只是从头开始。
当我重新使用applet时遇到问题,我想强制它在每次刷新时创建新进程。有没有办法做到这一点?或者,当它没有完全刷新时,我能以某种方式解决问题吗?
我正在进行的游戏可以在http://patrickdev.nl/galaxy048/看到。运行后,按'f'切换fps和内存详细信息。
提前谢谢。
答案 0 :(得分:3)
Applets支持一个参数,强制它在新的jvm中运行applet。刷新页面后也可以这样做,这正是我想要的 - 它从头开始。只需将此参数添加到applet标记:
<param name="separate_jvm" value="true" />
http://www.oracle.com/technetwork/java/javase/plugin2-142482.html#SEPARATE_JVM
的更多信息