我一直在研究在java applet中播放的遊戲。它一切正常,直到您嘗試刷新頁面。它通常似乎'保留'它迄今爲止使用的小程序,並將遊戲重新安裝在同一個小程序中。一個新的進程不會被創建,並且內存使用率會增加(〜250mb而不是〜140mb),並且applet使用相同的控制檯。繪圖過程也相當遲緩;它在再次繪製之前通常會跳過大約0.5秒的幀。Java小應用程序沒有完全刷新
它只是有時完全刷新小程序;一個新的進程被創建(如Windows的任務管理器所見),一個新的控制檯打開,它使用更少的內存;它只是從頭開始。
由於我在重新使用小程序時遇到問題,我想強制它在每次刷新時都創建新的進程。有沒有辦法做到這一點?或者我可以以某種方式解決問題,當它不完全刷新?
我正在處理的遊戲可以在http://patrickdev.nl/galaxy048/處看到。一旦運行,按'f'切換fps和內存細節。
預先感謝您。
你要小心
<param name="separate_jvm" value="true" />
更多信息,發佈一個鏈接到這樣的可愛,有趣的演示:只有這一個參數添加到您的Applet標記。我之前已經到了'黑寡婦'的水平,等等,這個問題是什麼?哦耶。我刷新了小程序,它回到了遊戲的開始,但是很快就鎖定了。內存增加了,但在'OutOfMemoryError'之前我不擔心這個問題--GC應該照顧它。它運行一些高優先級的線程嗎? +1,用於思考提供問題小程序的鏈接,併爲訪問提供便利。 :) –
謝謝安德魯!我不直接擔心記憶力上升,這只是(imo)潛在問題的副作用。當這種情況發生時,性能下降是令人遺憾的。不,對於線程完全沒有太大的幫助。 – Patrickdev