在 IntelliJ Idea 上编译我的 android 项目时,我多次遇到 java.lang.OutOfMemoryError: Java heap space
错误。
我通过点击 此处 的链接增加了我的 Java 堆空间,但这并没有解决问题。有趣的是,有时我的应用程序可以编译,而有时由于 java 堆空间错误,应用程序将无法编译。即使我没有对应用程序进行任何更改,它有时也会编译并有时会失败。
关于如何解决这个问题的任何想法?
我正在编译一个android项目,可能是因为我有大量或资源(drawable hdpi, xhdpi, xxhdpi, large-hdpi, large-xhdpi, large-xxhdpi)?但话又说回来,就像我说的那样,它有时会编译,有时不会。我每次都要进行大约 10 次编译尝试,幸运的是它会成功一次。
这是错误:
内部错误:(java.lang.OutOfMemoryError)Java 堆空间 java.lang.OutOfMemoryError:Java 堆空间位于 com.intellij.util.io.UnsyncByteArrayOutputStream.write( UnsyncByteArrayOutputStream.java:52) 在 com.intellij.util.io.DataOutputStream.write(DataOutputStream.java:34) 在 java.io.FilterOutputStream.write(FilterOutputStream.java:97) 在 com.intellij.util.io.IOUtil .writeString(IOUtil.java:63) 在 org.jetbrains.jps.incremental.storage.OneToManyPathsMapping\(PathCollectionExternalizer.save(OneToManyPathsMapping.java:87) 在 org.jetbrains.jps.incremental.storage.OneToManyPathsMapping\)PathCollectionExternalizer.save(OneToManyPaths) .java:84) 在 org.jetbrains.jps.incremental.storage.AbstractStateStorage\(1.append(AbstractStateStorage.java:103) 在 com.intellij.util.io.PersistentHashMap.doAppendData(PersistentHashMap.java:371) 在 com.intellij .util.io.PersistentHashMap.appendData(PersistentHashMap.java:358) 在 org.jetbrains.jps.incremental.storage。 org.jetbrains.jps.incremental.storage.OneToManyPathsMapping.appendData(OneToManyPathsMapping.java:50) 在 org.jetbrains.jps.incremental.storage.SourceToOutputMappingImpl.appendOutput(SourceToOutputMappingImpl.java: 50) 在 org.jetbrains.jps.builders.impl.BuildOutputConsumerImpl.registerOutputFile(BuildOutputConsumerImpl.java:65) 在 org.jetbrains.jps.android.AndroidResourceCachingBuilder.runPngCaching(AndroidResourceCachingBuilder.java:126) 在 org.jetbrains.jps.android .AndroidResourceCachingBuilder.build(AndroidResourceCachingBuilder.java:48)在 org.jetbrains.jps.android.AndroidResourceCachingBuilder.build(AndroidResourceCachingBuilder.java:32)在 org.jetbrains.jps.incremental.BuildOperations.buildTarget(BuildOperations.java:100)在org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:744)在 org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:770) org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:702)在 org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks(IncProjectBuilder.java:523)在 org.jetbrains.jps.incremental.IncProjectBuilder.runBuild( IncProjectBuilder.java:314) 在 org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:179) 在 org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:129) 在 org.jetbrains.jps .cmdline.BuildSession.runBuild(BuildSession.java:220) 在 org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:112) 在 org.jetbrains.jps.cmdline.BuildMain\)MyMessageHandler\(1.run(BuildMain. java:132) 在 org.jetbrains.jps.service.impl.SharedThreadPoolImpl\)1.run(SharedThreadPoolImpl.java:41) 在 java.util.concurrent.Executors\(RunnableAdapter.call(Executors.java:471) 在 java.util。并发.FutureTask\)Sync.innerRun(FutureTask.java:334) 在 java.util.concurrent.FutureTask.run(FutureTask.java:166)
提前致谢!
原文由 user2608384 发布,翻译遵循 CC BY-SA 4.0 许可协议
转到设置(Mac 上的首选项)-> 编译器-> Java 编译器-> 最大堆大小 (MB),并增加大小,然后重新启动 IntelliJ