স্টার্টআপ লেটেন্সি উন্নত করুন

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

সেরা অনুশীলন

একটি বেসলাইন প্রোফাইল সঙ্গে জাহাজ

বেসলাইন প্রোফাইলগুলি অন্তর্ভুক্ত কোড পাথগুলির জন্য ব্যাখ্যা এবং জাস্ট-ইন-টাইম (JIT) সংকলন পদক্ষেপগুলি এড়িয়ে প্রথম লঞ্চ থেকে প্রায় 30% কোড এক্সিকিউশন গতি উন্নত করে৷ একটি অ্যাপে একটি বেসলাইন প্রোফাইল পাঠানোর মাধ্যমে, অ্যান্ড্রয়েড রানটাইম (ART) এহেড অফ টাইম (AOT) সংকলনের মাধ্যমে অন্তর্ভুক্ত কোড পাথগুলিকে অপ্টিমাইজ করতে পারে, প্রতিটি নতুন ব্যবহারকারীর জন্য এবং প্রতিটি অ্যাপ আপডেটে কর্মক্ষমতা বৃদ্ধি প্রদান করে৷

উদগ্রীব শুরু এড়িয়ে চলুন

আপনার অ্যাপের স্টার্টআপ সিকোয়েন্সে প্রয়োজন নাও হতে পারে এমন আগ্রহের কাজ করা এড়িয়ে চলুন। আপনার অ্যাপটি একটি প্রক্রিয়া শুরু করার সবচেয়ে সম্ভাবনাময় দৃশ্য হল অ্যাপটি চালু করার মাধ্যমে। যাইহোক, WorkManager , JobScheduler , BroadcastReceiver , আবদ্ধ পরিষেবা এবং AndroidX স্টার্টআপ লাইব্রেরিও ব্যাকগ্রাউন্ডে অ্যাপ প্রক্রিয়া শুরু করতে পারে। যদি সম্ভব হয়, আপনার Application ক্লাসে অপ্রয়োজনীয়ভাবে কিছু শুরু করা এড়িয়ে চলুন। অনেক লাইব্রেরি অন-ডিমান্ড ইনিশিয়ালাইজেশন অফার করে, যা আপনাকে প্রয়োজন হলেই সেগুলিকে আহ্বান করতে দেয়।

UI থ্রেড থেকে ব্যাকগ্রাউন্ড থ্রেডে কাজগুলি সরান

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

বিশ্লেষণ এবং গুরুতর ডিস্ক পড়া বিতর্ক ঠিক করুন

StrictMode হল একটি ডেভেলপার টুল যা অ্যাপের প্রধান থ্রেডে দুর্ঘটনাজনিত ডিস্ক বা নেটওয়ার্ক অ্যাক্সেসের ব্যবহার সনাক্ত করতে সাহায্য করতে পারে, যেখানে UI অপারেশনগুলি প্রাপ্ত হয় এবং অ্যানিমেশনগুলি সঞ্চালিত হয়। একবার টুলটি উন্নতির একটি সম্ভাব্য ক্ষেত্র সনাক্ত করে, আপনি স্বয়ংক্রিয়ভাবে অ্যাপটি বন্ধ করতে পারেন বা পরবর্তী সময়ে আরও পরিদর্শনের জন্য লঙ্ঘনটি লগ করতে পারেন।

সিঙ্ক্রোনাস আইপিসি এড়িয়ে চলুন

প্রায়শই আপনার অ্যাপের সঞ্চালনে দীর্ঘ বিরতি বাইন্ডার কল, অ্যান্ড্রয়েডে ইন্টার-প্রসেস কমিউনিকেশন (IPC) মেকানিজমের কারণে হয়। অ্যান্ড্রয়েডের সাম্প্রতিক সংস্করণগুলিতে, এটি UI থ্রেড চালানো বন্ধ করার সবচেয়ে সাধারণ কারণগুলির মধ্যে একটি। সাধারণত, ফিক্স হল কলিং ফাংশনগুলি এড়াতে যা বাইন্ডার কল করে; যদি এটি অনিবার্য হয়, তাহলে আপনার মানটি ক্যাশে করা উচিত, বা কাজটি পটভূমির থ্রেডগুলিতে সরানো উচিত। আরও তথ্যের জন্য, থ্রেড শিডিউলিং বিলম্ব দেখুন।