Идея на IntelliJ, даваща java.lang.OutOfMemoryError: грешка в пространството на купчина в Java дори след увеличаване на размера на купчината

Многократно съм получавал грешката java.lang.OutOfMemoryError: Java heap space при компилиране на моя проект за android на IntelliJ Idea.

Увеличих моето java heap пространство, като последвах връзката тук обаче това не реши проблема. Смешното е, че понякога приложението ми ще се компилира, а в други случаи приложението няма да се компилира поради грешката в пространството на купчината на Java. Дори когато не съм направил промени в приложението, то ще се компилира понякога и ще се проваля понякога.

Някаква идея как мога да разреша този проблем?

Компилирам проект за Android, възможно ли е да се дължи на голямото количество или ресурси (drawable hdpi, xhdpi, xxhdpi, large-hdpi, large-xhdpi, large-xxhdpi), които имам? Но отново, както казах, понякога се компилира, а понякога не. Трябва да правя около 10 опита за компилиране всеки път и за щастие веднъж ще бъде успешно.

Ето грешката:

Благодаря предварително!

Отидете на Настройки (Предпочитания на Mac) -> Компилатор -> Java компилатор -> Максимален размер на купчина (MB) и увеличете размера, след което рестартирайте IntelliJ


person user2608384    schedule 30.07.2013    source източник


Отговори (3)


Току-що имах този проблем днес и след удвояване/учетворяване на размерите на купчината под File/Settings/Compiler/Java Compiler и .../Compiler/Android Compiler и той все още не се компилира.

person Adam Johns    schedule 30.07.2013
comment
Настройката е преместена на _1_ -› _2_ в IntelliJ 17.2.3 - stackoverflow.com/a/8581537/7193940 - person TARAKAN; 29.09.2015
comment
причината да споменавам java компилатор и android компилатор е, че може да се наложи да ги увелича всичките, не съм тествал този факт - person MagicLegend; 17.01.2018

стойността, която най-накрая реши моя проблем, беше увеличаване на стойността, наречена Compiler Process Heap Size (удвоих го, но това вероятно не е необходимо), което може да се намери под File/Settings/Compiler

това реши проблема за мен с Intellij версия 12.1.5 (най-новата в момента)

също разбирам, че тази тема е малко стара...

Intellij ви предоставя средства за редактиране на опциите на Application VM. Редактиране на конфигурации, мисля, е това, което търсите. Тази настройка се намира в горния десен ъгъл или като алтернатива можете да използвате shift-control-A „Редактиране на конфигурации“, трябва да видите диалогов прозорец и едно от полетата е VM Options. Тук можете да зададете вашите специфични за приложението настройки, т.е. -Xmx2048m.

person Dan M    schedule 02.10.2013
comment
Вътрешна грешка: (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) в 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(One ToManyPathsMapping .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.AbstractStateStorage.appendData(AbstractStateStorage.java:101) в 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(In cProjectBuilder.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.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) в java.util.concurrent.FutureTask.run(FutureTask.java:166) - person Dan M; 02.10.2013

@Habib: Току-що замених стотици събития в един от моите проекти и всички модулни тестове все още преминават. Не виждам никакво нежелано поведение.
person gaukhar    schedule 04.05.2015