2013-07-30 6 views
13

बढ़ाने के बाद भी जावा हीप स्पेस त्रुटि IntelliJ Idea पर मेरे एंड्रॉइड प्रोजेक्ट को संकलित करते समय मुझे बार-बार java.lang.OutOfMemoryError: Java heap space त्रुटि मिली है।IntelliJ Idea java.lang.OutOfMemoryError दे रहा है: हेप आकार

मैंने here लिंक का पालन करके अपने जावा हीप स्पेस को बढ़ाया हालांकि समस्या को हल नहीं किया। मजाकिया बात यह है कि, कभी-कभी मेरा ऐप संकलित होगा, और दूसरी बार जावा हेप स्पेस त्रुटि के कारण ऐप संकलित नहीं होगा। यहां तक ​​कि जब मैंने ऐप में कोई बदलाव नहीं किया है, तब भी यह कई बार संकलित होगा और कभी-कभी विफल हो जाएगा।

कोई समस्या यह है कि मैं इस समस्या को कैसे हल कर सकता हूं?

मैं एक एंड्रॉइड प्रोजेक्ट संकलित कर रहा हूं, क्या यह बड़ी मात्रा या संसाधनों (ड्रॉइंग एचडीपीआई, एक्सएचडीपीआई, एक्सएक्सएचडीपीआई, बड़े-एचडीपीआई, बड़े-एक्सएचडीपीआई, बड़े-एक्सएक्सएचडीपीआई) के कारण हो सकता है जो मेरे पास है? लेकिन फिर फिर, जैसे मैंने कहा कि यह कई बार संकलित करता है और कभी-कभी ऐसा नहीं करता है। मैं हर बार संकलन करने के लिए लगभग 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) 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)

अग्रिम धन्यवाद:

यहाँ त्रुटि है!

उत्तर

16

जाओ सेटिंग्स में (Mac पर प्राथमिकताएं) -> संकलक -> जावा संकलक -> अधिकतम ढेर आकार (MB), और आकार में वृद्धि, तो इंटेलीजे

+2

यदि आप एंड्रॉइड स्टूडियो "एंड्रॉइड कंपाइलर" अनुभाग में यह विकल्प चुनते हैं। – TARAKAN

+0

सेटिंग को 'कंपाइलर' में स्थानांतरित कर दिया गया है -> 'इंटेलिजे 17.2.3 में प्रोसेस हेप आकार (एमबी) बनाएं - https://stackoverflow.com/a/8581537/7193940 – MagicLegend

10

पुनः आरंभ मैं बस आज इस समस्या थी, और दोहरीकरण के बाद/फ़ाइल/सेटिंग्स/कंपाइलर/जावा कंपाइलर और .../कंपाइलर/एंड्रॉइड कंपाइलर के तहत ढेर आकार को चौगुनी करना और यह अभी भी संकलित नहीं होगा।

मूल्य, फ़ाइल/सेटिंग्स/संकलक के नीचे पाया जा सकता है जो कि अंत में तय मेरी समस्या बढ़ रहा था मूल्य कहा जाता संकलक प्रक्रिया ढेर आकार (मैं इसे दोगुना हो लेकिन वह शायद आवश्यक नहीं है)

इस हल मुझे Intellij संस्करण 12.1.5 (अभी नवीनतम)

प्रयोग करने के लिए समस्या भी मुझे लगता है कि इस सूत्र थोड़ा पुराना है ...

+0

जिस कारण से मैं जावा कंपाइलर और एंड्रॉइड कंपाइलर का उल्लेख करता हूं कि उन सभी को बढ़ाने के लिए आवश्यक हो सकता है, मैंने उस तथ्य का परीक्षण नहीं किया है –

2

Intellij आवेदन वी एम विकल्प संपादित करने के लिए साधन प्रदान करता है। कॉन्फ़िगरेशन संपादित करें, मुझे लगता है, आप इसके बाद क्या कर रहे हैं। यह सेटिंग शीर्ष-दाएं कोने में स्थित है, या वैकल्पिक रूप से आप शिफ्ट-नियंत्रण-ए "कॉन्फ़िगरेशन संपादित करें" का उपयोग कर सकते हैं, आपको एक संवाद देखना चाहिए और फ़ील्ड में से एक VM विकल्प है। यहां आप अपनी एप्लिकेशन-विशिष्ट सेटिंग्स, यानी -Xmx2048m सेट कर सकते हैं।