इसका समाधान Android बिल्ड मेमोरी को बढ़ाना है।
जैसा कि आप अपने ऐप में अधिक मॉड्यूल जोड़ते हैं, एंड्रॉइड बिल्ड सिस्टम पर एक अविश्वसनीय मांग है, और डिफ़ॉल्ट मेमोरी सेटिंग्स काम नहीं करेगी। से बचने के लिए OutOfMemoryErrors दौरान एंड्रॉयड बनाता है, आप में वैकल्पिक Gradle स्मृति सेटिंग वर्तमान uncomment चाहिए /android/gradle.properties :
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
आप Android फ़ोल्डर के अंदर gradle.properties पा सकते हैं ।
पी.एस.
हम यह क्या कर रहे हैं और यह क्यों मदद करता है?
मुझे पूरी बात समझने के लिए कुछ बुनियादी शब्दावली स्पष्ट करें।
डेमॉन : - डेमॉन एक कंप्यूटर प्रोग्राम है जो एक इंटरैक्टिव यूजर के सीधे नियंत्रण में होने के बजाय एक पृष्ठभूमि प्रक्रिया के रूप में चलता है।
एंड्रॉइड स्टूडियो 2.1 एक नई सुविधा को सक्षम करता है: डेक्स इन प्रोसेस , जो तुरंत रन प्रदर्शन को बेहतर बनाने के साथ-साथ पूर्ण स्वच्छ बिल्ड की गति को नाटकीय रूप से बढ़ा सकता है।
डेक्स इन प्रोसेस का लाभ उठाने के लिए , आपको अपनी gradle.properties फ़ाइल को संशोधित करने की आवश्यकता होगी और org.gradle.jagmargs की संपत्ति का उपयोग करके ग्रैब डेमन वीएम को 1 जीबी तक आवंटित मेमोरी की मात्रा न्यूनतम 2 जीबी तक बढ़ानी होगी। :
डेमॉन प्रक्रिया के लिए उपयोग किए जाने वाले जेवीएम तर्कों को निर्दिष्ट करता है। सेटिंग विशेष रूप से मेमोरी सेटिंग्स को ट्विक करने के लिए उपयोगी है।
org.gradle.jvmargs=-Xmx2048m
डिफ़ॉल्ट मान:
-Xmx10248m -XX:MaxPermSize=256m
डिफ़ॉल्ट ग्रैडल डेमन वीएम मेमोरी आवंटन 1 गीगाबाइट है - जो डेक्स इनप्रोसेस का समर्थन करने के लिए अपर्याप्त है, इसलिए लाभ लेने के लिए आपको इसे कम से कम 2 गीगाबाइट पर सेट करना होगा।
Dex प्रक्रिया में कई DEX प्रक्रियाओं को एक एकल VM के भीतर चलाने की अनुमति देकर काम करता है जिसे ग्रेडल के साथ भी साझा किया जाता है, यही कारण है कि आपको सक्षम होने से पहले अतिरिक्त मेमोरी आवंटित करने की आवश्यकता होती है - यह मेमोरी ग्रेड और मल्टीपल DEX प्रक्रियाओं के बीच साझा की जाएगी।
यदि आपने javaMaxHeapSize को अपने मॉड्यूल-स्तर build.gradle फ़ाइल में 1 गीगाबाइट के डिफ़ॉल्ट से परे बढ़ा दिया है, तो आपको ग्रैड डेमन को सौंपी गई मेमोरी को इसी तरह बढ़ाने की आवश्यकता होगी।
जब पर्याप्त मेमोरी असाइन की गई डेक्स इन प्रोसेस को डिफ़ॉल्ट रूप से सक्षम किया जाता है, तो समग्र निर्माण प्रदर्शन में सुधार और कई समानांतर वीएम इंस्टेंसेस को शुरू करने के ओवरहेड को हटा दिया जाता है । परिणाम सभी बिल्ड समय में एक महत्वपूर्ण सुधार है, जिसमें इंस्टेंट रन, वृद्धिशील और पूर्ण बिल्ड शामिल हैं।
स्रोत:
https://medium.com/google-developers/faster-android-studio-builds-with-dex-in-process-5988ed8aa37e
https://rnfirebase.io/#increasing-android-build-memory