为什么 OpenJDK 平台二进制文件会卡在打开状态并使用过多的内存?

hak*_*gan 9 java flutter

我最近开始学习 flutter,我注意到即使 vscode 关闭了 OpenJDK Platform Binary,它仍然保持打开状态并使用过多的内存。每次我完成 vscode 工作后,我是否应该在任务管理器上强制关闭它?有什么办法可以自动关闭吗?在此输入图像描述

Moh*_*IRH 8

这是 gradle 的记录行为。你可以在 flutter github 项目中看到这个 stackoverflow答案和这个已关闭的问题。

守护进程在 3 小时不活动后将自动终止。如果您希望在此之前停止守护进程,您可以通过操作系统终止该进程或运行 gradle --stop命令。该--stop开关会导致 Gradle 请求所有正在运行的 Daemon 进程(与用于运行该命令的 Gradle 版本相同)自行终止。

您可以按照以下步骤永久禁用它:

Gradle Daemon 默认启用,我们建议始终启用它。--no-daemon您可以通过命令行选项或添加org.gradle.daemon=false到文件中来禁用长期存在的 Gradle 守护进程 gradle.properties。您可以在下面的守护程序常见问题解答中找到禁用(和启用)守护程序的其他方法的详细信息。

您可以在此处找到有关守护进程为何对性能如此重要的解释:

为什么 Gradle 守护进程对性能很重要

守护进程是一个长期存在的进程,因此我们不仅能够避免每次构建时 JVM 启动的成本,而且能够在内存中缓存有关项目结构、文件、任务等的信息。

推理很简单:通过重用以前构建的计算来提高构建速度。然而,好处是巨大的:我们通常测量后续构建的构建时间减少了 15-75%。我们建议使用 --profile 来分析您的构建,以了解 Gradle 守护进程对您的影响有多大。

  • 不客气。不,通过任务管理器关闭它没有什么坏处。在官方文档中,使用任务管理器是关闭它的方法之一。您还可以执行“gradle --stop”命令来停止它。守护进程用于避免执行 gradle 命令时 jvm 启动时间的成本。您可以按照以下[步骤](https://docs.gradle.org/current/userguide/gradle_daemon.html#daemon_faq)永久禁用。 (3认同)
  • 谢谢您的回答,那么任务管理器中强制关闭有什么害处吗? (2认同)
  • 不客气!很高兴能提供帮助 (2认同)