JxBrowser - 在任务管理器中处理但仍有BrowserCore进程

时间:2018-01-29 11:39:37

标签: jxbrowser

在我的应用程序中,当长时间运行JxBrowser时,它消耗了如此巨大的RAM,所以我决定处理&为Browser重新创建另一个实例。但是当处置时,有时BrowserCore进程不会被终止。是一个bug还是处理浏览器无法保证它会杀死BrowserCore进程?

3 个答案:

答案 0 :(得分:1)

无法保证渲染过程将被终止。它可以由例如弹出浏览器窗口保存。 Chromium引擎决定何时终止浏览器进程。

但是,保证在所有浏览器实例都被终止的情况下终止BrowserCore进程。

答案 1 :(得分:0)

我尝试使用Browser.dispose(),但是它不起作用。

只有Engine.close()会销毁您创建的引擎的所有“ BrowserCore Chromium本机进程”。 我想,是否有办法回收所有Chromium Native Process。由于每次创建引擎都是昂贵且缓慢的,因此,如果我为此应用程序使用单个引擎,则每次打开浏览器时,它都会创建一个Chromium本机进程,该进程不会单独被Browser.dispose()杀死。

答案 2 :(得分:0)

我必须手动处理创建的浏览器并创建一个新的浏览器。但是有时候,dispose方法不起作用,我需要迭代所有现有的浏览器并杀死它们:

  import com.teamdev.jxbrowser.chromium.internal.ipc.IPC;  

  IPC.getBrowsers().forEach(Browser::dispose);