运行 通过带有 -Xmx 和 -Xms 的 gradlew 申请
Run application via gradlew with -Xmx and -Xms
我有申请。我 运行 它通过
gradlew run-app
或调试
gradlew debug-app
有效。如何将“-Xmx”参数传递到我 运行(调试)的应用程序中?
是否可以在不编辑 build.gradle
文件的情况下这样做?
我找到了这个
Gradle unknown command-line option '-X'
我尝试时遇到类似的错误
gradlew debug-app -Xmx2000m
错误
FAILURE: Build failed with an exception.
* What went wrong:
Problem configuring task :debug-app from command line.
> Unknown command-line option '-X'.
我试图在 GRADLE_USER_HOME
目录中创建一个文件 gradle.properties
(默认情况下,它是 USER_HOME/.gradle)。
org.gradle.jvmargs=-XX\:MaxHeapSize\=4256m -Xmx4256m -Xms2000m
我也尝试在项目文件夹 gradle.properties
中 org.gradle.jvmargs=-Xmx2000m
。
甚至当我 运行 一个应用程序时,我看到提交的内存大小 < 520 MiB
这是我 运行 它作为一个普通的 Java 应用程序
在第二种情况下,当我 运行 将应用程序作为普通 Java 应用程序使用 -Xms、-Xmx 时,提交的内存大小约为 3.5 GiB,因为我通过了 -Xmx4512m -Xms2512m
参数。
将此添加到您的 gradle.properties
文件中:
org.gradle.jvmargs=-Xmx2000m
来自here
org.gradle.jvmargs
Specifies the jvmargs used for the daemon process. The setting is
particularly useful for tweaking memory settings. At the moment the
default settings are pretty generous with regards to memory.
编辑:我的回答是 gradle 守护程序 jvm,而不是应用程序 jvm。你必须使用 jvmArgs property
The extra arguments to use to launch the JVM for the process. Does not
include system properties and the minimum/maximum heap size.
首先,感谢@ToYonos 带领我走向正确的方向。
其次,我在这里找到了解决方案。
我从命令行 运行 我的应用程序。
set GRADLE_OPTS=-Xms1724m -Xmx5048m
gradlew debug-app
请注意,CMD Windows 命令 SET 在本地工作,因此如果您关闭终端,将不会设置 GRADLE_OPTS
。对于 Linux,您可以使用
export GRADLE_OPTS=WHATEVER
这就是我想要实现的。
使用 application 插件可以使用 applicationDefaultJvmArgs 属性
apply plugin: 'application'
applicationDefaultJvmArgs = ["-Xms1024m", "-Xmx2048m"]
参数将应用于 运行 任务并启动您的应用程序脚本
在我的例子中,使缓存无效并重新启动 android studio(它会自动重新启动)然后在重新启动 android studio
后错误将消失
然后
我有申请。我 运行 它通过
gradlew run-app
或调试
gradlew debug-app
有效。如何将“-Xmx”参数传递到我 运行(调试)的应用程序中?
是否可以在不编辑 build.gradle
文件的情况下这样做?
我找到了这个 Gradle unknown command-line option '-X'
我尝试时遇到类似的错误
gradlew debug-app -Xmx2000m
错误
FAILURE: Build failed with an exception.
* What went wrong:
Problem configuring task :debug-app from command line.
> Unknown command-line option '-X'.
我试图在 GRADLE_USER_HOME
目录中创建一个文件 gradle.properties
(默认情况下,它是 USER_HOME/.gradle)。
org.gradle.jvmargs=-XX\:MaxHeapSize\=4256m -Xmx4256m -Xms2000m
我也尝试在项目文件夹 gradle.properties
中 org.gradle.jvmargs=-Xmx2000m
。
甚至当我 运行 一个应用程序时,我看到提交的内存大小 < 520 MiB
这是我 运行 它作为一个普通的 Java 应用程序
在第二种情况下,当我 运行 将应用程序作为普通 Java 应用程序使用 -Xms、-Xmx 时,提交的内存大小约为 3.5 GiB,因为我通过了 -Xmx4512m -Xms2512m
参数。
将此添加到您的 gradle.properties
文件中:
org.gradle.jvmargs=-Xmx2000m
来自here
org.gradle.jvmargs
Specifies the jvmargs used for the daemon process. The setting is particularly useful for tweaking memory settings. At the moment the default settings are pretty generous with regards to memory.
编辑:我的回答是 gradle 守护程序 jvm,而不是应用程序 jvm。你必须使用 jvmArgs property
The extra arguments to use to launch the JVM for the process. Does not include system properties and the minimum/maximum heap size.
首先,感谢@ToYonos 带领我走向正确的方向。
其次,我在这里找到了解决方案。 我从命令行 运行 我的应用程序。
set GRADLE_OPTS=-Xms1724m -Xmx5048m
gradlew debug-app
请注意,CMD Windows 命令 SET 在本地工作,因此如果您关闭终端,将不会设置 GRADLE_OPTS
。对于 Linux,您可以使用
export GRADLE_OPTS=WHATEVER
这就是我想要实现的。
使用 application 插件可以使用 applicationDefaultJvmArgs 属性
apply plugin: 'application'
applicationDefaultJvmArgs = ["-Xms1024m", "-Xmx2048m"]
参数将应用于 运行 任务并启动您的应用程序脚本
在我的例子中,使缓存无效并重新启动 android studio(它会自动重新启动)然后在重新启动 android studio
后错误将消失然后