Android ক্যালেন্ডার দল বেসলাইন প্রোফাইলগুলির সাথে অ্যাপ স্টার্টআপ এবং জ্যাঙ্ককে কীভাবে উন্নত করেছে৷

বেসলাইন প্রোফাইলগুলি সাধারণ ব্যবহারকারীর যাত্রার জন্য ইন্টারপ্রেটার এবং জাস্ট-ইন-টাইম (JIT) সংকলন পদক্ষেপগুলি এড়িয়ে কোড কার্যকর করার গতি 30% পর্যন্ত উন্নত করে। বেসলাইন প্রোফাইলগুলি আপনাকে আপনার পছন্দের ব্যবহারকারীর যাত্রাগুলি বেছে নিতে দেয় এবং অ্যাপ স্টার্টআপ উন্নত করতে, জ্যাঙ্ক কমাতে এবং আরও অনেক কিছু করতে সাহায্য করতে পারে - যার ফলে ব্যবহারকারী ধরে রাখা এবং রেটিংগুলির মতো ব্যবসায়িক মেট্রিক্স উন্নত হয়। বেসলাইন প্রোফাইল সম্পর্কে আরও জানুন

অ্যান্ড্রয়েড ক্যালেন্ডার টিম বেসলাইন প্রোফাইল বাস্তবায়ন করেছে এবং অ্যাপ স্টার্টআপের সময় ~২০% উন্নতি এবং ধীর বা হিমায়িত ফ্রেমে ~৫০% হ্রাস লক্ষ্য করেছে। এই পারফরম্যান্স জয় অর্জনের জন্য তারা এন্ড-টু-এন্ড কী করেছে তা এখানে দেওয়া হল, কেন তারা বেসলাইন প্রোফাইল ব্যবহার করার সিদ্ধান্ত নিয়েছে থেকে শুরু করে তারা কীভাবে প্রভাব পরিমাপ করেছে।

ক্লাউড প্রোফাইল বনাম বেসলাইন প্রোফাইল

অ্যান্ড্রয়েড ক্যালেন্ডার টিম ইতিমধ্যেই ক্লাউড প্রোফাইল ব্যবহার করে আসছে, যা অ্যাপের সাথে বাস্তব-বিশ্বের ব্যবহারকারীর মিথস্ক্রিয়ার উপর ভিত্তি করে আরেকটি প্রোফাইল গাইডেড অপ্টিমাইজেশন (PGO) পদ্ধতি। ক্লাউড প্রোফাইল এবং বেসলাইন প্রোফাইলের তুলনা এখানে দেওয়া হল:

প্রোফাইলের ধরণ সেট আপ করুন ব্যবহারকারীর ভ্রমণ অন্তর্ভুক্ত ব্যবহারকারীর বেস যখন সবচেয়ে ভালো কাজ করে প্রভাব উপলব্ধি করা হয়েছে সমর্থিত অ্যান্ড্রয়েড সংস্করণ

ক্লাউড প্রোফাইল

ডিফল্টরূপে সক্ষম

বাস্তব-বিশ্বের ব্যবহারকারীর ডেটার উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে নির্বাচিত

বড়

কয়েক দিনের মধ্যেই

অ্যান্ড্রয়েড ৯ (এপিআই লেভেল ২৮) এবং উচ্চতর

বেসলাইন প্রোফাইল

আপনার দ্বারা কনফিগার করা হয়েছে

তোমার দ্বারা নির্বাচিত

সকল আকার

তাৎক্ষণিক

অ্যান্ড্রয়েড ৭ (এপিআই লেভেল ২৪) এবং উচ্চতর

অ্যান্ড্রয়েড ক্যালেন্ডার টিম তাদের কোডবেসে বেসলাইন প্রোফাইল যোগ করার সিদ্ধান্ত নেওয়ার একটি প্রধান কারণ হল তারা দ্রুত, সাপ্তাহিক রিলিজ চক্রে চলে যাচ্ছিল। যদিও ক্লাউড প্রোফাইলগুলি উল্লেখযোগ্য কর্মক্ষমতা বৃদ্ধি প্রদান করে, অ্যাপ লঞ্চের পরে তাদের সর্বোচ্চ প্রভাবে পৌঁছাতে 1-2 দিন সময় লাগে কারণ তারা বাস্তব-বিশ্বের ব্যবহারকারীর ডেটা একত্রিত করার উপর নির্ভর করে। বেসলাইন প্রোফাইলের সাথে ক্লাউড প্রোফাইলগুলি সম্পূরক করা ব্যবহারকারীদের পরবর্তী অ্যাপ সংস্করণ চালু হওয়ার আগে সর্বোচ্চ কর্মক্ষমতা উন্নতি অনুভব করার জন্য আরও সময় দেয়।

উপরন্তু, অ্যান্ড্রয়েড ক্যালেন্ডার টিমের জন্য প্রোফাইলে কোন গুরুত্বপূর্ণ ব্যবহারকারীর ভ্রমণ (CUJ) অন্তর্ভুক্ত করা হবে তা বেছে নেওয়া গুরুত্বপূর্ণ ছিল, যা আপনি বেসলাইন প্রোফাইল ব্যবহার করে করতে পারেন।

সাধারণত, সেরা পারফরম্যান্সের ফলাফলের জন্য আমরা ডিফল্টরূপে সক্ষম ক্লাউড প্রোফাইলের পাশাপাশি বেসলাইন প্রোফাইল ব্যবহার করার পরামর্শ দিই।

ব্যবহারকারীর ভ্রমণ অন্তর্ভুক্ত

অ্যান্ড্রয়েড ক্যালেন্ডার টিম তাদের বেসলাইন প্রোফাইলে দুটি CUJ অন্তর্ভুক্ত করার সিদ্ধান্ত নিয়েছে:

  • শিডিউল ভিউতে অ্যাপ খোলা: প্রাথমিকভাবে ডিফল্ট ভিউ, যা প্রথমবার অ্যাপ ব্যবহার করা ব্যবহারকারীদের জন্য বা যারা ডিফল্ট সেটিংস পরিবর্তন করেন না তাদের জন্য অপ্টিমাইজ করা অত্যন্ত গুরুত্বপূর্ণ।
  • মাসের ভিউতে অ্যাপ খোলা: ব্যবহারকারীর ডেটার উপর ভিত্তি করে অনেক ব্যবহারকারীর জন্য নির্বাচিত ভিউ। ব্যবহারকারীরা আপনার অ্যাপটি কীভাবে ব্যবহার করছে তা ট্র্যাক করতে, আপনি Firebase এর মতো টুল ব্যবহার করতে পারেন।

সাধারণত, আপনার ব্যবসার জন্য লাভজনক CUJ গুলি (যদি প্রযোজ্য হয়) এবং সবচেয়ে সাধারণ CUJ গুলি যোগ করা উচিত। CUJ গুলিকে অপ্টিমাইজ করার জন্য কীভাবে বেছে নেবেন সে সম্পর্কে আরও জানতে, কী অন্তর্ভুক্ত করবেন তা দেখুন।

বাস্তবায়ন

অ্যান্ড্রয়েড ক্যালেন্ডার টিম জেটপ্যাক ম্যাক্রোবেঞ্চমার্ক লাইব্রেরির জন্য একটি অভ্যন্তরীণ র‍্যাপার ব্যবহার করে বেসলাইন প্রোফাইল তৈরি করে যাতে অভ্যন্তরীণ সরঞ্জামগুলির সাথে ইন্টিগ্রেশন সহজ হয় এবং সাধারণ স্কেলেবিলিটি তৈরি করা যায়।

শিডিউল ভিউতে অ্যাপটি খোলার জন্য ম্যাক্রোবেঞ্চমার্ক পরীক্ষার কনফিগারেশনটি এখানে দেওয়া হল:

@Test
fun generateProfile() =
    baselineProfileRule.collect(PACKAGE_NAME, includeInStartupProfile = true) {
        uiAutomator {
            startApp(packageName = PACKAGE_NAME)
            // Verify pre-existing recurring events and tasks are shown.
            // onElement waits for the element by default
            onElement { textAsString() == "Recurring event" }
            onElement { textAsString() == "Recurring task" }

            // Open drawer and verify selected view.
            onElement { contentDescriptionAsString() == "Show Calendar List and Settings drawer" }.click()
            onElement { contentDescriptionAsString() == "Schedule view, Selected" }
        }
    }

নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

  • PACKAGE_NAME : যে অ্যাপের জন্য আপনি বেসলাইন প্রোফাইল তৈরি করতে চান তার প্যাকেজের নাম।

নিয়ন্ত্রিত রিলিজ ব্যবহার করে প্রভাব পরিমাপ করুন

যেহেতু বেসলাইন প্রোফাইলগুলি আপনার অ্যাপটি চালানোর আগে যে APK দিয়ে পাঠানো হয় এবং অন্তর্ভুক্ত করা হয় তার সাথে শক্তভাবে সংযুক্ত থাকে, তাই তাদের প্রভাব বোঝার জন্য একটি স্ট্যান্ডার্ড A/B পরীক্ষা চালানো সম্ভব নয়। তবে, Android ক্যালেন্ডার টিম নিয়ন্ত্রিত রিলিজ ব্যবহার করে প্রভাবের একটি সঠিক পরিমাপ পেতে সক্ষম হয়েছে, যেখানে আপনি মূলত নতুন অ্যাপ সংস্করণটি শুধুমাত্র ব্যবহারকারীদের একটি উপসেটের জন্য প্রকাশ করেন এবং পূর্ববর্তী রিলিজের মতো সংস্করণ ব্যবহার করছেন এমন ব্যবহারকারীদের সাথে তাদের তুলনা করেন।

বেসলাইন প্রোফাইলের সাহায্যে, তারা একাধিক ক্ষেত্রে নিম্নলিখিত তাৎক্ষণিক, উল্লেখযোগ্য উন্নতি দেখতে পেয়েছে। এই পরিসংখ্যানগুলি বিভিন্ন ডিভাইস এবং সমস্ত ব্যবহারকারীর মধ্যে একত্রিত করা হয়েছে - যারা সময়সূচী এবং মাসিক ভিউ দিয়ে শুরু করেন তারা সম্ভবত সবচেয়ে বেশি সুবিধা পাবেন, তবে ডাটাবেস থেকে ক্যালেন্ডার ডেটা লোড করার মতো ভাগ করা প্রক্রিয়াগুলির অপ্টিমাইজেশনের কারণে অন্যান্য ব্যবহারকারীরাও উপকৃত হবেন।

  • মিডিয়ান ইন্টারেক্টিভ অ্যাপ স্টার্টআপ (সবচেয়ে সাধারণ পরিস্থিতি) ল্যাটেন্সি ৭৭৫ মিলিসেকেন্ড থেকে কমে ৬৪৪ মিলিসেকেন্ড (১৭%) হয়েছে।
  • মাঝারি কোল্ড স্টার্ট ল্যাটেন্সি ১,০৫৮ মিলিসেকেন্ড থেকে ৯০১ মিলিসেকেন্ডে (১৫%) কমেছে।
  • মাঝারি উষ্ণ শুরুর ল্যাটেন্সি ৪৫৩ মিলিসেকেন্ড থেকে কমে ৩৭৮ মিলিসেকেন্ডে (১৭%) হয়েছে।
  • সময়সূচী এবং মাসিক ভিউতে মিডিয়ান জ্যাঙ্কি ফ্রেম রেট ৪২-৬০% কমেছে।

মনে রাখবেন যে আপনি যদি বেসলাইন প্রোফাইলের সাথে ক্লাউড প্রোফাইল ব্যবহার করেন তবে ক্লাউড প্রোফাইল তৈরি হওয়ার সাথে সাথে প্রথম সপ্তাহের মধ্যে উন্নতি কিছুটা কমে যেতে পারে। তবে, আপনার অন্যান্য অপ্টিমাইজেশনের পাশাপাশি বেসলাইন প্রোফাইলের সাথে উল্লেখযোগ্য কর্মক্ষমতা বৃদ্ধি লক্ষ্য করা উচিত।

টুল এবং বৈশিষ্ট্যগুলি সম্পর্কে আরও জানতে, নিম্নলিখিত সংস্থানগুলি দেখুন: