簡體   English   中英

即使在增加堆大小后,IntelliJ Idea 也會給出 java.lang.OutOfMemoryError: Java 堆空間錯誤

[英]IntelliJ Idea giving java.lang.OutOfMemoryError: Java heap space error even after increasing heap size

在 IntelliJ Idea 上編譯我的 android 項目時,我反復收到java.lang.OutOfMemoryError: Java heap space錯誤。

我通過點擊此處的鏈接增加了 java 堆空間,但這並沒有解決問題。 有趣的是,有時我的應用程序會編譯,而有時由於 java 堆空間錯誤,應用程序將無法編譯。 即使我沒有對應用程序進行任何更改,它有時也會編譯並有時會失敗。

關於如何解決這個問題的任何想法?

我正在編譯一個 android 項目,可能是由於我擁有的大量或資源(可繪制 hdpi、xhdpi、xxhdpi、large-hdpi、large-xhdpi、large-xxhdpi)嗎? 但是話又說回來,就像我說的那樣,它有時會編譯,有時卻不會。 我每次嘗試編譯大約 10 次,幸運的是它會成功一次。

這是錯誤:

Internal error: (java.lang.OutOfMemoryError) Java heap space java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOf(Arrays.java:2271) at com.intellij.util.io.UnsyncByteArrayOutputStream.write( UnsyncByteArrayOutputStream.java:52) at com.intellij.util.io.DataOutputStream.write(DataOutputStream.java:34) at java.io.FilterOutputStream.write(FilterOutputStream.java:97) at com.intellij.util.io.IOUtil .writeString(IOUtil.java:63) 在 org.jet brains.jps.incremental.storage.OneToManyPathsMapping$PathCollectionExternalizer.save(OneToManyPathsMapping.java:87) at org.jetbrains.jps.incremental.storage.OneToManyPathsMapping$PathCollectionExternalizer.save(OneToManyPathsMapping.java:84) at org.jetbrains.jps. incremental.storage.AbstractStateStorage$1.append(AbstractStateStorage.java:103) at com.intellij.util.io.PersistentHashMap.doAppendData(PersistentHashMap.java:371) at com.intellij.util.io.PersistentHashMap.appendData(PersistentHashMap.java :358) 在 org.jetbrains.jps.incremental.storage.AbstractStateStorage.appendData(AbstractStateStorage.java:101) 在 org.jetbrains.jps.incremental.storage.OneToManyPathsMapping.appendData(OneToMan yPathsMapping.java:50) at org.jetbrains.jps.incremental.storage.SourceToOutputMappingImpl.appendOutput(SourceToOutputMappingImpl.java:50) at org.jetbrains.jps.builders.impl.BuildOutputConsumerImpl.registerOutputFile(BuildOutputConsumerImpl.java:65) at org .jetbrains.jps.android.AndroidResourceCachingBuilder.runPngCaching(AndroidResourceCachingBuilder.java:126) at org.jetbrains.jps.android.AndroidResourceCachingBuilder.build(AndroidResourceCachingBuilder.java:48) at org.jetbrains.jps.android.AndroidResourceCachingBuilder.build(AndroidResourceCachingBuilder .java:32) at org.jetbrains.jps.incremental.BuildOperations.buildTarget(BuildOperations.java:100) at org.jetbrains.jps.incremental.IncProject unBuildersForChunk(IncProjectBuilder.java:744) at org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:770) at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:702) at org.jetbrains .jps.incremental.IncProjectBuilder.buildChunks(IncProjectBuilder.java:523) at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:314) at org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java :179) at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:220) at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:129) BuildSession.run(BuildSession.java:112) 在組織。 jetbrains.jps.cmdline.BuildMain$MyMessageHandler$1.run(BuildMain.java:132) at org.jetbrains.jps.service.impl.SharedThreadPoolImpl$1.run(SharedThreadPoolImpl.java:41) at java.util.concurrent.Executors$ RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166)

提前致謝!

轉到設置(Mac上的首選項) - >編譯器 - > Java編譯器 - >最大堆大小(MB),然后增加大小,然后重啟IntelliJ

我今天剛遇到這個問題,並且在文件/設置/編譯器/ Java編譯器和... /編譯器/ Android編譯器之后將堆大小加倍/翻兩倍,它仍然無法編譯。

最終修復我的問題的值是增加名為Compiler Process Heap Size的值(我加倍但可能沒有必要),可以在File / Settings / Compiler下找到

這解決了我使用Intellij 12.1.5版本的問題(現在最新版本)

我也意識到這個線程有點老......

Intellij為您提供了編輯應用程序VM選項的方法。 我認為,編輯配置就是你所追求的。 此設置位於右上角,或者您可以使用shift-control-A“編輯配置”,您應該看到一個對話框,其中一個字段是VM選項。 在這里,您可以設置特定於應用程序的設置,即-Xmx2048m。

在我的情況下,錯誤出現在“Maven”部分的“重新加載項目”之后。 它在“構建”窗口的“同步”選項卡中拋出了OutOfMemoryError

在這種情況下,適當增加的設置是VM options for importer器的VM options for importer ,您可以在設置 -> 構建、執行、部署 -> 構建工具 -> Maven -> 導入中找到。 在我的例子中,它被設置為 512m,這對於我大約有 50 個模塊的項目來說太慢了。

我增加了堆大小並重新啟動了 IntelliJ 幾次,但對我來說沒有成功......

我只是去build菜單並單擊rebuild project ,一切都和以前一樣好

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM