অ্যাপ অপ্টিমাইজেশান সক্ষম করুন

সর্বোত্তম ব্যবহারকারীর অভিজ্ঞতার জন্য, আপনার অ্যাপটিকে যতটা সম্ভব ছোট এবং দ্রুত করার জন্য অপ্টিমাইজ করা উচিত। আমাদের অ্যাপ অপ্টিমাইজার, যাকে বলা হয় 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')

            ...
        }
    }
}

এমনকি ছোট অ্যাপের জন্য সম্পদ সঙ্কুচিত করা অপ্টিমাইজ করুন

অ্যান্ড্রয়েড গ্রেডল প্লাগইন (এজিপি) এর 8.12.0 সংস্করণটি অপ্টিমাইজ করা রিসোর্স সঙ্কুচিত করার প্রবর্তন করে, যার লক্ষ্য আরও ছোট এবং দ্রুত অ্যাপ তৈরি করতে রিসোর্স এবং কোড অপ্টিমাইজেশনকে একীভূত করা।

অপ্টিমাইজ করা সম্পদ সঙ্কুচিত সক্ষম করুন

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 সক্ষম করা থাকে, তাহলে আরও ভাল স্টার্টআপ পারফরম্যান্সের জন্য আপনার স্টার্টআপ প্রোফাইলগুলিও তৈরি করা উচিত।

আপনি যদি অ্যাপ অপ্টিমাইজেশান সক্ষম করেন এবং এটি ত্রুটির কারণ হয় তবে সেগুলি ঠিক করার জন্য এখানে কিছু কৌশল রয়েছে: