সেরা ব্যবহারকারীর অভিজ্ঞতার জন্য, আপনার অ্যাপটিকে যতটা সম্ভব ছোট এবং দ্রুত করার জন্য অপ্টিমাইজ করা উচিত। আমাদের অ্যাপ অপ্টিমাইজার, যার নাম R8, অব্যবহৃত কোড এবং রিসোর্সগুলি সরিয়ে, রানটাইম পারফরম্যান্স অপ্টিমাইজ করার জন্য কোড পুনর্লিখন এবং আরও অনেক কিছুর মাধ্যমে আপনার অ্যাপটিকে স্ট্রিমলাইন করে। আপনার ব্যবহারকারীদের কাছে এর অর্থ হল:
- দ্রুত শুরুর সময়
- উন্নত রেন্ডারিং এবং রানটাইম কর্মক্ষমতা
- কম ANR
অ্যাপ অপ্টিমাইজেশন সক্ষম করতে, আপনার রিলিজ বিল্ডের অ্যাপ-লেভেল বিল্ড স্ক্রিপ্টে নিম্নলিখিত কোডে দেখানো হিসাবে isMinifyEnabled = true (কোড অপ্টিমাইজেশনের জন্য) এবং isShrinkResources = true (রিসোর্স অপ্টিমাইজেশনের জন্য) সেট করুন। আমরা সুপারিশ করছি যে আপনি সর্বদা উভয় সেটিংস সক্ষম করুন। আমরা অ্যাপ অপ্টিমাইজেশন সক্ষম করার পরামর্শ দিচ্ছি শুধুমাত্র আপনার অ্যাপের চূড়ান্ত সংস্করণে যা আপনি প্রকাশের আগে পরীক্ষা করেন - সাধারণত আপনার রিলিজ বিল্ড - কারণ অপ্টিমাইজেশনগুলি আপনার প্রকল্পের বিল্ড সময় বাড়ায় এবং কোড পরিবর্তন করার পদ্ধতির কারণে ডিবাগিংকে আরও কঠিন করে তুলতে পারে।
কোটলিন
android { buildTypes { release { // Enables code-related app optimization. isMinifyEnabled = true // Enables resource shrinking. isShrinkResources = true proguardFiles( // Default file with automatically generated optimization rules. getDefaultProguardFile("proguard-android-optimize.txt"), ... ) ... } } ... }
খাঁজকাটা
android { buildTypes { release { // Enables code-related app optimization. minifyEnabled true // Enables resource shrinking. shrinkResources true // Default file with automatically generated optimization rules. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt') ... } } }
আরও ছোট অ্যাপের জন্য রিসোর্স সঙ্কুচিতকরণ অপ্টিমাইজ করুন
অ্যান্ড্রয়েড গ্রেডল প্লাগইন (এজিপি) এর ৮.১২.০ সংস্করণটি অপ্টিমাইজড রিসোর্স সঙ্কিং প্রবর্তন করে, যার লক্ষ্য আরও ছোট এবং দ্রুত অ্যাপ তৈরির জন্য রিসোর্স এবং কোড অপ্টিমাইজেশনকে একীভূত করা।
অপ্টিমাইজ করা রিসোর্স সঙ্কুচিতকরণ সক্ষম করুন
9.0.0 এর আগের AGP ভার্সনের জন্য নতুন অপ্টিমাইজড রিসোর্স সঙ্কুচিত পাইপলাইন চালু করতে, আপনার প্রোজেক্টের gradle.properties ফাইলে নিম্নলিখিতটি যোগ করুন:
android.r8.optimizedResourceShrinking=true
যদি আপনি AGP 9.0.0 অথবা তার নতুন ভার্সন ব্যবহার করেন, তাহলে আপনাকে android.r8.optimizedResourceShrinking=true সেট করার প্রয়োজন নেই। আপনার বিল্ড কনফিগারেশনে isShrinkResources = true সক্ষম থাকলে অপ্টিমাইজড রিসোর্স শঙ্কা স্বয়ংক্রিয়ভাবে প্রয়োগ করা হয়।
R8 অপ্টিমাইজেশন সেটিংস যাচাই এবং কনফিগার করুন
R8 কে তার সম্পূর্ণ অপ্টিমাইজেশন ক্ষমতা ব্যবহার করতে সক্ষম করতে, আপনার প্রকল্পের gradle.properties ফাইল থেকে নিম্নলিখিত লাইনটি সরিয়ে ফেলুন, যদি এটি বিদ্যমান থাকে:
android.enableR8.fullMode=false # Remove this line from your codebase.
মনে রাখবেন যে অ্যাপ অপ্টিমাইজেশন সক্ষম করলে স্ট্যাক ট্রেস বোঝা কঠিন হয়ে পড়ে, বিশেষ করে যদি R8 ক্লাস বা পদ্ধতির নাম পরিবর্তন করে। আপনার সোর্স কোডের সাথে সঠিকভাবে মেলে এমন স্ট্যাক ট্রেস পেতে, মূল স্ট্যাক ট্রেস পুনরুদ্ধার করুন দেখুন।
যদি R8 সক্রিয় থাকে, তাহলে আরও ভালো স্টার্টআপ পারফরম্যান্সের জন্য আপনার স্টার্টআপ প্রোফাইলও তৈরি করা উচিত।
যদি আপনি অ্যাপ অপ্টিমাইজেশন সক্ষম করেন এবং এর ফলে ত্রুটি দেখা দেয়, তাহলে সেগুলি ঠিক করার জন্য এখানে কিছু কৌশল দেওয়া হল:
- কিছু কোড অক্ষত রাখতে Keep নিয়ম যোগ করুন ।
- ক্রমবর্ধমানভাবে অপ্টিমাইজেশন গ্রহণ করুন ।
- অপ্টিমাইজেশনের জন্য আরও উপযুক্ত লাইব্রেরি ব্যবহার করতে আপনার কোড আপডেট করুন।
আপনি যদি আপনার বিল্ড স্পিড অপ্টিমাইজ করতে আগ্রহী হন, তাহলে আপনার পরিবেশের উপর ভিত্তি করে R8 কীভাবে কনফিগার করবেন সে সম্পর্কে তথ্যের জন্য "R8 কীভাবে চলে" কনফিগার করুন দেখুন।