你知道为什么我在构建我的 Android 应用程序时会得到一个'Exception in thread "main"java.lang.OutOfMemoryError: Java heap space' 错误,即使我添加了 -vmargs -Xmx1024M -Xms512M 到 eclipse 参数? 我想知道我可能犯了什么错误会在构建时触发这样的错误,因为在我看来只有 eclipse 或 maven 中的错误才会在构建时产生这样的错误。 我正在使用 run as maven install 来构建我的应用程序(使用 maven android eclipse 插件)。 Run as-> 'maven package' 也会在等待大约 1 分钟 30 后产生相同的构建失败。 我有一台内存为 3GB 的台式电脑,我的应用程序并没有那么大。
谢谢。
最佳答案
将 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/some/path
添加到您的 jvm args 以便当它用完内存时它会转储堆。然后您可以使用 Eclipse Memory Analyser或 jhat
浏览堆并诊断问题可能出在哪里。
更新:尝试增加您的 maven android 插件的内存。在您的 pom.xml
中,将 Xmx
的 JVM 参数添加到插件配置中:
<plugin>
<artifactId>maven-android-plugin</artifactId>
<configuration>
<jvmArguments>
<argument>-Xmx1500m</argument>
</jvmArguments>
</configuration>
</plugin>
关于java堆空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7075875/