memory-leaks - Electron 存储器使用情况分析

标签 memory-leaks electron google-chrome-devtools

我的 Electron 应用程序存在一些内存问题。
启动时,内存使用量约为120 MB。 JS堆保持恒定为32 MB。在浏览器窗口中不执行任何操作的情况下,任务管理器中渲染器的内存使用量每秒增加约1 MB。在增加20 MB之后,它似乎又下降了16左右(最好是GC)。但是将窗口打开几分钟会占用300 MB的内存。因此,某处存在内存泄漏。

由于JS堆大小从不改变,因此我认为Node进程内部存在泄漏,我对此部分是否正确?
如何分析 Electron/节点过程中的内存使用情况? (因为在这种情况下,chrome配置文件似乎无济于事)

https://spectrum.chat/electron/general/debugging-high-memory-usage-in-electron~80057ff2-a51c-427f-b6e1-c297d47baf5bhttps://www.electronjs.org/docs/tutorial/performance有关

最佳答案

我有同样的问题,我的应用程序从200MB的已用内存开始,不到20分钟,它使用的450MB以上,什么都不做……仅显示一些图像。覆盆子pi + 3b也是如此。内存的使用会导致死板烂。
我发现的是,如果您打开了devtools窗口(我假设您是出于调试目的),那么它只会占用所有内存。
关闭devtools窗口后,我在Win系统上的应用使用100MB(稳定),而在树莓派中使用300MB(稳定)。
我读过某个地方,当使用GPU渲染时,它也会占用大量内存,所以我使用了
app.disableHardwareAcceleration();

关于memory-leaks - Electron 存储器使用情况分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59931495/

相关文章:

javascript - AngularJS ngModelController

javascript - 在 Chrome 中调试时避免不相关的文件不起作用

带有 finalize 的 Java 内存泄漏检测

javascript - 将 setSinkId 与 stereoPanner 结合使用?

node.js - 将 OpenCV Mat 渲染到 Html5 Canvas 的最佳方法?

html - SVG矢量图像未显示在HTML元素上

java - 读完一篇JRT后如何释放所有资源?

java stackoverflowerror 在无限循环中抛出

c# - 如何防止线程使用的对象被释放?如何控制对象的生命周期?

debugging - Node 检查器 : Running Code - Not Just Stepping Through