আমি সবেমাত্র অ্যান্ড্রয়েড স্টুডিওকে 3.5 বিটা 1 এ আপডেট করেছি এবং আমি পাচ্ছি
ডেমনের মেয়াদ শেষ হচ্ছে কারণ জেভিএম হিপ স্পেস শেষ
বিল্ড চলমান অবস্থায় বার্তা। এছাড়াও, বিল্ডটি সম্পূর্ণ হতে আরও সময় নিচ্ছে। কারও কি এ সম্পর্কে কোন ধারণা আছে?
আমি সবেমাত্র অ্যান্ড্রয়েড স্টুডিওকে 3.5 বিটা 1 এ আপডেট করেছি এবং আমি পাচ্ছি
ডেমনের মেয়াদ শেষ হচ্ছে কারণ জেভিএম হিপ স্পেস শেষ
বিল্ড চলমান অবস্থায় বার্তা। এছাড়াও, বিল্ডটি সম্পূর্ণ হতে আরও সময় নিচ্ছে। কারও কি এ সম্পর্কে কোন ধারণা আছে?
উত্তর:
আমি নিম্নলিখিতটি কনফিগার করে আমার প্রতিক্রিয়া নেটিভ প্রকল্পের জন্য এটি সমাধান করতে সক্ষম হয়েছি :
// gradle.properties
org.gradle.daemon=true
org.gradle.configureondemand=true
org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
এবং
// app/build.gradle
android {
dexOptions {
javaMaxHeapSize "3g"
}
}
প্রকল্পের জন্য কনফিগার করা সর্বোচ্চ গাদা আকার বাড়িয়ে এটি স্থির করা যেতে পারে ।
আইডিই এর মাধ্যমে:
গ্রেড.প্রোপার্টি ফাইলগুলিতে নীচের লাইনগুলি যুক্ত করুন। র্যামের উপলব্ধতার উপর ভিত্তি করে মেমরির নীচের আকারটি কনফিগার করা যেতে পারে
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx2560m
জিইউআইয়ের মাধ্যমে:
সেটিংসে, 'মেমরি সেটিংস' অনুসন্ধান করুন এবং সিস্টেমের র্যামের উপলভ্যতা অনুসারে আইডিই সর্বাধিক হিপ আকার এবং ডিমন ম্যাক্স হ্যাপের আকার বাড়ান ।
সমাধানটি হ'ল অ্যান্ড্রয়েড বিল্ড মেমরি বাড়ানো।
আপনি আপনার অ্যাপ্লিকেশনে আরও মডিউল যুক্ত করার সাথে সাথে অ্যান্ড্রয়েড বিল্ড সিস্টেমে একটি অবিশ্বাস্য চাহিদা রয়েছে এবং ডিফল্ট মেমরি সেটিংস কাজ করবে না। অ্যান্ড্রয়েড বিল্ড চলাকালীন আউটঅফমিউরি এরিয়াসগুলি এড়াতে আপনার /android/gradle.properties এ উপস্থিত বিকল্প গ্রেড মেমরি সেটিংটিকে অস্বচ্ছল করা উচিত :
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
আপনি অ্যান্ড্রয়েড ফোল্ডারের অভ্যন্তরে গ্রেড.প্রোপার্টিগুলি খুঁজে পেতে পারেন ।
পুনশ্চ
আমরা এটি কি করছি এবং এটি কেন সহায়তা করে?
পুরো বিষয়টি বোঝার জন্য আমাকে কিছু প্রাথমিক পরিভাষা পরিষ্কার করতে দিন।
ডেমন : - একটি ডেমন একটি কম্পিউটার প্রোগ্রাম যা একটি ইন্টারেক্টিভ ব্যবহারকারীর প্রত্যক্ষ নিয়ন্ত্রণে না হয়ে পটভূমি প্রক্রিয়া হিসাবে চলে।
অ্যান্ড্রয়েড স্টুডিও ২.১ একটি নতুন বৈশিষ্ট্য সক্ষম করে: ডেক্স ইন প্রসেস , যা তাত্ক্ষণিক রান পারফরম্যান্সের উন্নতির পাশাপাশি পুরো ক্লিন বিল্ডগুলির গতি নাটকীয়ভাবে বাড়িয়ে তুলতে পারে।
সুবিধা নেওয়ার জন্য Dex প্রক্রিয়া , আপনি আপনার gradle.properties ফাইল পরিবর্তন করুন এবং বরাদ্দ মেমরি পরিমাণ বৃদ্ধি করতে হবে Gradle ডেমন VM- র org.gradle.jvmargs সম্পত্তি ব্যবহার করে, 2 GB এর ন্যূনতম 1 গিগাবাইট দ্বারা, :
ডেমন প্রক্রিয়াটির জন্য ব্যবহৃত JVM আর্গুমেন্ট নির্দিষ্ট করে। মেমরি সেটিংস টুইট করার জন্য সেটিংসটি বিশেষভাবে কার্যকর।
org.gradle.jvmargs=-Xmx2048m
ডিফল্ট মান:
-Xmx10248m -XX:MaxPermSize=256m
ডিফল্ট গ্রেডল ডিমন ভিএম মেমরির বরাদ্দটি 1 গিগাবাইট - যা ডেক্সআইনপ্রসেস সমর্থন করার পক্ষে অপর্যাপ্ত, সুতরাং সুবিধা নেওয়ার জন্য আপনাকে এটি কমপক্ষে 2 গিগাবাইটে সেট করতে হবে।
প্রক্রিয়ায় ডেক্স একাধিক ডেক্স প্রসেসকে একক ভিএম এর মধ্যে চালানোর অনুমতি দিয়ে কাজ করে যা গ্রেডলের সাথে ভাগ করে নেওয়া হয়েছে, যার কারণে এটি সক্ষম করার আগে আপনাকে অতিরিক্ত মেমরি বরাদ্দ করতে হবে - সেই স্মৃতি গ্রেডল এবং একাধিক ডেক্স প্রসেসের মধ্যে ভাগ করা হবে be
যদি আপনি 1 গিগাবাইটের ডিফল্ট অতিক্রম করে আপনার মডিউল-স্তরের বিল্ড.gradle ফাইলটিতে জাভাম্যাক্সহীপসাইজ বাড়িয়ে থাকেন তবে আপনার যথাযথভাবে গ্রেডেল ডাইমনকে অর্পিত মেমরিটি বাড়ানো দরকার।
প্রসেসে যথেষ্ট পরিমাণ মেমোরি বরাদ্দ থাকলে ডেক্সটি ডিফল্টরূপে সক্ষম হয়, সামগ্রিক বিল্ড পারফরম্যান্স উন্নত করে এবং একাধিক সমান্তরাল ভিএম উদাহরণ শুরু করার ওভারহেড সরিয়ে দেয় । তাত্ক্ষণিক রান, ইনক্রিমেন্টাল এবং সম্পূর্ণ বিল্ড সহ সকল বিল্ড টাইমের ক্ষেত্রে ফলাফলটি উল্লেখযোগ্য উন্নতি।
উত্স: https://medium.com/google-developers/faster-android-studio-builds-with-dex-in-process-5988ed8aa37e
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8এ গ্রেড.প্রোপার্টিগুলিতে রাখার চেষ্টা করুন । যদি এখনও কাজ না করে থাকে তবে দুঃখিত যে আমি এটি ঠিক করব কীভাবে আমার কোন ধারণা নেই।
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8মধ্যে android/gradle.propertiesএকটি যাদুমন্ত্র Lika কাজ করেন। ধন্যবাদ !! @ কৈলাশউনিয়াল