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

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

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

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

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

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

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

ডিফল্টরূপে সক্রিয়

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

বড়

দু-একদিনের মধ্যেই

Android 9 (API স্তর 28) এবং উচ্চতর

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

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

আপনার দ্বারা নির্বাচিত

সব মাপ

তাৎক্ষণিক

Android 7 (API স্তর 24) এবং উচ্চতর

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

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

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

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

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

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

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

বাস্তবায়ন

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

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

@Test
fun generateProfile() =
    baselineProfileRule.collect(PACKAGE_NAME, includeInStartupProfile = true) {
        startActivityAndWait()
        // Verify pre-existing recurring events and tasks are shown.
        device.waitAndFindObject(By.text("Recurring event"), 20_000)
        device.waitAndFindObject(By.text("Recurring task"), 20_000)

        // Open drawer and verify selected view.
        device.findObject(By.desc("Show Calendar List and Settings drawer")).click()
        device.waitAndFindObject(By.desc("Schedule view, Selected"), 1_000)
    }

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

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

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

  • মিডিয়ান ইন্টারেক্টিভ অ্যাপ স্টার্টআপ (সবচেয়ে সাধারণ দৃশ্য) লেটেন্সি 775ms থেকে 644ms (17%) হয়েছে
  • মিডিয়ান কোল্ড স্টার্ট লেটেন্সি 1,058ms থেকে কমে 901ms (15%)
  • মধ্যম উষ্ণ শুরুর লেটেন্সি 453ms থেকে কমে 378ms হয়েছে (17%)
  • শিডিউল এবং মাস ভিউতে মিডিয়ান জাঙ্কি ফ্রেম রেট 42-60% কমেছে

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

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