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

Я неоднократно получал ошибку java.lang.OutOfMemoryError: Java heap space при компиляции моего проекта Android на IntelliJ Idea.

Я увеличил пространство кучи java, перейдя по ссылке здесь однако это не решило проблему. Самое смешное, что иногда мое приложение компилируется, а иногда приложение не компилируется из-за ошибки пространства кучи java. Даже если я не внес никаких изменений в приложение, иногда оно будет компилироваться, а иногда давать сбои.

Любая идея относительно того, как я могу решить эту проблему?

Я компилирую проект для Android, может ли это быть связано с большим объемом или ресурсами (доступными для рисования hdpi, xhdpi, xxhdpi, large-hdpi, large-xhdpi, large-xxhdpi), которые у меня есть? Но опять же, как я уже сказал, иногда он компилируется, а иногда нет. Я делаю около 10 попыток компиляции каждый раз, и, к счастью, один раз она будет успешной.

Вот ошибка:

Заранее спасибо!

Перейдите в «Настройки» («Настройки» на Mac) -> «Компилятор» -> «Компилятор Java» -> «Максимальный размер кучи» (МБ) и увеличьте размер, а затем перезапустите IntelliJ.


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


Ответы (3)


У меня была эта проблема только сегодня, и после удвоения/учетверения размеров кучи в файлах/настройках/компиляторе/компиляторе Java и.../компиляторе/компиляторе Android он все равно не компилировался.

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

значение, которое окончательно решило мою проблему, увеличивало значение, называемое размером кучи процесса компилятора (я удвоил его, но это, вероятно, не обязательно), которое можно найти в разделе «Файл/Настройки/Компилятор».

это решило проблему для меня, используя Intellij версии 12.1.5 (последняя прямо сейчас)

также я понимаю, что эта тема немного устарела...

Intellij предоставляет вам средства для редактирования параметров Application VM. Редактировать конфигурации, я думаю, это то, что вам нужно. Этот параметр находится в правом верхнем углу, или, в качестве альтернативы, вы можете использовать Shift-Control-A «Редактировать конфигурации», вы должны увидеть диалоговое окно, и одно из полей — «Параметры виртуальной машины». Здесь вы можете установить настройки для вашего приложения, например -Xmx2048m.

person Dan M    schedule 02.10.2013
comment
Внутренняя ошибка: (java.lang.OutOfMemoryError) Пространство кучи Java 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(OneToManyPathsMapping .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(PersistentHas hMap.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(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.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) в java.util.concurrent.FutureTask.run(FutureTask.java:166) - person Dan M; 02.10.2013

Если вы используете Android Studio, эта опция находится в разделе компилятора Android.

person gaukhar    schedule 04.05.2015