2013-07-30 21 views
13

IntelliJ Idea üzerindeki android projemi derlerken java.lang.OutOfMemoryError: Java heap space hatasını tekrar ettim.IntelliJ Fikir veren java.lang.OutOfMemoryError: yığın boyutu arttıktan sonra bile Java yığın alanı hatası boyutu

here numaralı bağlantıyı takip ederek java yığın alanımı artırdım, ancak bu sorunu çözmedi. Komik şey, zaman zaman benim app derleyecektir ve diğer zamanlarda uygulama java yığın alanı hatası nedeniyle derleme değil. Uygulamada hiçbir değişiklik yapmadığım zaman bile, bazen derlenecek ve zaman zaman başarısız olacaktır.

Bu sorunu nasıl çözebilirim?

Bir android projeyi derledim, büyük miktarda veya kaynaklardan (çekilebilir hdpi, xhdpi, xxhdpi, büyük hdpi, büyük-xhdpi, büyük-xxhdpi) kaynaklanabilir mi? Ama sonra tekrar söylüyorum dediğim gibi zaman zaman derler ve olmaz. Her seferinde derleme yapmak için 10 denemeye girişiyorum ve neyse ki bir kez başarılı olacak. peşin

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) at org.jetbrains.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) at org.jetbrains.jps.incremental.storage.AbstractStateStorage.appendData(AbstractStateStorage.java:101) at org.jetbrains.jps.incremental.storage.OneToManyPathsMapping.appendData(OneToManyPathsMapping.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.IncProjectBuilder.runBuildersForChunk(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.BuildRunner.runBuild(BuildRunner.java:129) at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:220) at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:112) at org.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)

Teşekkür: Burada

hatadır!

cevap

16

Git Ayarlar (Tercihler) -> Derleyici -> Java derleyicisi -> Maksimum yığın boyutu (MB) ve boyutunu artırmak, daha sonra intellij

+2

Eğer Android Studio'yu "Android derleyici" bölümünde bu seçeneği kullanırsanız. – TARAKAN

+0

Ayar, "Compiler" - Yapılandırma yığın boyutu (MB) 'ın IntelliJ 17.2.3 - https://stackoverflow.com/a/8581537/7193940 – MagicLegend

10

yeniden ben bugün bu problem vardı ve katlama sonrası/Dosya/Ayarlar/Derleyici/Java Derleyicisi ve/Compiler/Android Derleyici altında yığın boyutları dörde katlanan ve hala derleme olmaz.

Dosya/Ayarlar/Compiler altında bulunabilir nihayet benim sorunum (bunu iki katına ama muhtemelen gerekli değildir) değerini denilen Derleyici Süreci Öbek Boyutu artırıyordu sabit değer,

bu çözüldü beni Intellij sürüm 12.1.5 (şu anda son)

kullanarak problem hem ben

+0

derlemesine taşındı çünkü java derleyici ve android derleyicisinden bahsediyorum hepsini artırmak için gerekli olabilir, ben bu gerçeği test etmedim –

2

Intellij Uygulama VM Seçenek düzenlemek için bir araç sağlar ... Konuyu biraz eski olduğunu biliyoruz. Yapılandırmaları Düzenle, sanırım peşinde olduğun şey. Bu ayar sağ üst köşede bulunur veya alternatif olarak shift-control-A “Edit configurations” ı kullanabilirsiniz, bir iletişim kutusu görmeli ve alanlardan biri VM Options'dir. Burada uygulamanıza özgü ayarları, yani -Xmx2048m'yi ayarlayabilirsiniz.

İlgili konular