অ্যাপগুলির জন্য Wear OS-এ পারফরম্যান্স একটি অপরিহার্য বিবেচ্য বিষয়, কারণ অনেক Wear OS ডিভাইসে বৃহত্তর মোবাইল ডিভাইসের তুলনায় সীমিত CPU এবং GPU রিসোর্স থাকে। Material 3 Expressive-এ আরও সমৃদ্ধ অ্যানিমেশন এবং গতিশীল প্রভাব প্রবর্তনের সাথে সাথে, আপনার অ্যাপের মূল কর্মপ্রবাহের কর্মক্ষমতা যাচাই এবং উন্নত করা উচিত।
জেটপ্যাক কম্পোজ ব্যবহার করে সর্বোত্তম কর্মক্ষমতার জন্য আপনার অ্যাপটি কনফিগার এবং ডেভেলপ করতে জেটপ্যাক কম্পোজ পারফরম্যান্স গাইড ব্যবহার করুন। এই ডকুমেন্টটি সেই গাইডে বর্ণিত কিছু কৌশল তুলে ধরে।
আপনার অ্যাপের জন্য এই কৌশলগুলি প্রত্যাশা অনুযায়ী কাজ করে তা যাচাই করার জন্য কর্মক্ষমতা পরিমাপ কৌশল তৈরি করুন এবং অনুসরণ করুন।
কর্মক্ষমতা উন্নয়নের জন্য প্রয়োজনীয় কৌশল
সবচেয়ে কার্যকর পারফরম্যান্স টুলের ধরণগুলি দিয়ে শুরু করুন: বেসলাইন প্রোফাইল (স্টার্টআপ প্রোফাইল সহ) এবং R8 কোড অপ্টিমাইজার।
আপনার কম্পোজ নির্ভরতা সংস্করণ 1.8 বা তার উচ্চতর সংস্করণে আপডেট করুন, যা বেশ কয়েকটি উল্লেখযোগ্য নতুন বৈশিষ্ট্য চালু করেছে এবং লাইব্রেরির সামগ্রিক স্থিতিশীলতা উন্নত করেছে। আপডেট কীভাবে করবেন তা জানতে ডিক্লারিং ডিপেন্ডেন্সি বিভাগে নির্দেশাবলী দেখুন। আরও জানতে, 1.8 রিলিজ এবং কম্পোজ I/O-তে নতুন কী আছে তা নিয়ে আমাদের ব্লগটি পড়ুন।
বেসলাইন প্রোফাইল
আপনার অ্যাপের কর্মক্ষমতা উন্নত করতে, বেসলাইন প্রোফাইল ব্যবহার করুন। আপনার অ্যাপের মূল কর্মপ্রবাহের প্রতিনিধিত্বকারী ক্লাস এবং পদ্ধতিগুলিকে একত্রিত করুন, যা সিস্টেম একটি বেসলাইন প্রোফাইল ব্যবহার করে প্রাক-কম্পাইল করতে পারে। এটি স্টার্টআপের সময় কমাতে পারে, জ্যাঙ্কি ফ্রেমের পরিমাণ কমাতে পারে এবং অতিরিক্ত কর্মক্ষমতা উন্নতি প্রদান করতে পারে।
প্রতিটি জেটপ্যাক কম্পোজ লাইব্রেরির নিজস্ব প্রোফাইল নিয়ম থাকে। যখন আপনার অ্যাপটি কোনও লাইব্রেরির উপর নির্ভর করে, তখন লাইব্রেরি প্রোফাইল নিয়মগুলি স্বয়ংক্রিয়ভাবে একত্রিত হয়ে আপনার অ্যাপের APK-এর সাথে প্রি-কম্পাইলেশনের জন্য বিতরণ করা হয়।
নিম্নলিখিত কৌশলগুলি ব্যবহার করে আপনার বেসলাইন প্রোফাইলগুলি যাচাই করুন:
- ম্যাক্রোবেঞ্চমার্ক পরীক্ষা ব্যবহার করুন।
- আপনার অ্যাপের প্রোফাইল কনফিগারেশন অবস্থা যাচাই করতে নির্দিষ্ট ADB কমান্ড ব্যবহার করুন। এই উভয় কৌশলের ধাপগুলি কর্মক্ষমতা পরিমাপ এবং যাচাইকরণ নির্দেশিকায় ব্যাখ্যা করা হয়েছে।
স্টার্টআপ প্রোফাইল
বেসলাইন প্রোফাইলের একটি উপসেট হিসেবে, স্টার্টআপ প্রোফাইলগুলি অ্যাপ স্টার্টআপ ল্যাটেন্সি কমাতে তাদের মধ্যে থাকা ক্লাস এবং পদ্ধতিগুলিকে আরও অপ্টিমাইজ করে।
একটি স্টার্টআপ প্রোফাইল যোগ করলে আপনার অ্যাপের APK আকার বৃদ্ধি পাবে, তাই আপনার প্রোডাকশন রিলিজে একটি যোগ করার আগে, APK আকার এবং স্টার্টআপ ল্যাটেন্সির মধ্যে লেনদেন মূল্যায়ন করতে ভুলবেন না।
শুরু করতে, "একটি স্টার্টআপ প্রোফাইল তৈরি করুন" পড়ুন।
আর৮
অ্যাপগুলিকে সঙ্কুচিত এবং অপ্টিমাইজ করতে R8 কম্পাইলার ব্যবহার করুন। R8 অব্যবহৃত কোড এবং রিসোর্সগুলি সরিয়ে দেয়, রানটাইম পারফরম্যান্স অপ্টিমাইজ করার জন্য কোড পুনর্লিখন করে এবং আরও অনেক কিছু করে।
কর্মক্ষমতা উন্নত করার ওভারভিউ নির্দেশিকাগুলিতে, R8 এর বিবেচ্য বিষয়গুলি পড়ুন, যার মধ্যে অব্যবহৃত সংস্থানগুলি অপসারণের জন্য মূল পদক্ষেপগুলিও অন্তর্ভুক্ত রয়েছে।
কর্মক্ষমতা পরিমাপ এবং বৈধতা
অ্যান্ড্রয়েডে সাধারণ কর্মক্ষমতা পরিমাপ কৌশল সম্পর্কে জানতে, অ্যাপের কর্মক্ষমতা পরিমাপের সারসংক্ষেপ দেখুন। এই বিভাগে সেই ডকুমেন্টেশনে আলোচিত কিছু কৌশল বর্ণনা করা হয়েছে।
পরিমাপের জন্য একটি বিল্ড ভেরিয়েন্ট বেছে নিন
যদিও ডিবাগ মোড অনেক সমস্যা চিহ্নিত করার জন্য কার্যকর, এটি একটি উল্লেখযোগ্য কর্মক্ষমতা খরচ আরোপ করে, বেসলাইন প্রোফাইল ব্যবহার করে না এবং কার্যক্ষমতা প্রভাবিত করতে পারে এমন কোড সমস্যাগুলি সনাক্ত করা কঠিন করে তুলতে পারে।
আপনার অ্যাপের কর্মক্ষমতা সঠিকভাবে বুঝতে, আপনার অ্যাপটি রিলিজ মোডে চালান।
রিলিজ বিল্ড অপশন এবং বাস্তব ডিভাইসে চলমান অ্যাপগুলির সাথে সম্পাদিত পরীক্ষাগুলি থেকে কেবলমাত্র কর্মক্ষমতা সম্পর্কে চূড়ান্ত সিদ্ধান্তে আঁকুন।
তবে, বেঞ্চমার্ক পরীক্ষা করার সময়, বেঞ্চমার্ক বিল্ড ভেরিয়েন্ট ব্যবহার করুন, যার রিলিজ ডিবাগিং থেকে কিছু গুরুত্বপূর্ণ পার্থক্য রয়েছে। বিস্তারিত জানার জন্য ম্যাক্রোবেঞ্চমার্ক সেটআপ গাইড দেখুন।
আপনার অ্যাপের বেসলাইন প্রোফাইল যাচাই করুন
আপনার প্রোফাইলের অবস্থা পরীক্ষা করে শুরু করুন:
adb shell dumpsys package dexopt | grep -A 1 $PACKAGE_NAME
যদি স্ট্যাটাসটি status=speed-profile না হয়, তাহলে অ্যাপটি অপ্টিমাইজ করার জন্য প্রোফাইল নিয়মগুলি এখনও প্রয়োগ করা হয়নি।
ডিভাইসটি চার্জ করা এবং নিষ্ক্রিয় থাকা অবস্থায় চালিত একটি ব্যাকগ্রাউন্ড জব ব্যবহার করে নিয়মগুলি প্রয়োগ করা হয়। এটি ম্যানুয়ালি ট্রিগার করতে, অ্যাপটি চালু হওয়ার পরে এবং প্রোফাইল ইনস্টলারটি ব্যাকগ্রাউন্ডে প্রোফাইলটি বুটস্ট্র্যাপ করার জন্য পর্যাপ্ত সময় পার হওয়ার পরে নিম্নলিখিত কমান্ডটি চালান। এই প্রক্রিয়াটি সাধারণত প্রায় 40 সেকেন্ড সময় নেয়।
adb shell cmd package bg-dexopt-job
তারপর, স্ট্যাটাসটি speed-profile কিনা তা যাচাই করতে পূর্ববর্তী কমান্ডটি পুনরায় চালান।
ইনস্টলেশনের সময় অপ্টিমাইজেশন ঘটে এমন পরিস্থিতিতে, বেসলাইন প্রোফাইলটি সাইডেলোড করুন দেখুন।
UI অটোমেটর API
UI Automator API প্রোগ্রাম্যাটিকভাবে ইন্টারঅ্যাকশনগুলিকে স্বয়ংক্রিয় করে। সম্ভাব্য অপ্টিমাইজেশনের জন্য ব্যবহারকারীর যাত্রা পরিদর্শন করার সময় UI-এর বিচ্ছিন্ন অংশগুলিকে বেঞ্চমার্ক করতে এই API ব্যবহার করুন।
ম্যাক্রোবেঞ্চমার্ক পরীক্ষা
ম্যাক্রোবেঞ্চমার্কগুলি আপনার অ্যাপের বৃহত্তর ব্যবহারের ক্ষেত্রে পরীক্ষা করে, বিশেষ করে অ্যাপ স্টার্টআপ এবং জটিল UI ম্যানিপুলেশন। শুরু করতে, বাস্তবায়ন নির্দেশিকাটি দেখুন।
বেসলাইন প্রোফাইলের কর্মক্ষমতা যাচাই করার জন্য ম্যাক্রোবেঞ্চমার্ক ব্যবহারের উদাহরণের জন্য, GitHub-এ কর্মক্ষমতা নমুনাগুলি দেখুন।
জ্যাঙ্কস্ট্যাটস লাইব্রেরি
অ্যাপ্লিকেশনগুলিতে কর্মক্ষমতা সমস্যাগুলি ট্র্যাক এবং বিশ্লেষণ করতে JankStats লাইব্রেরি ব্যবহার করুন।
উদাহরণস্বরূপ, GitHub-এ JankStats নমুনা দেখুন।
সিস্টেম ট্রেস
ম্যাটেরিয়াল ৩ এক্সপ্রেসিভের নতুন অ্যানিমেশন ধরণের মাধ্যমে, সম্ভাব্য সমস্যাযুক্ত ব্যবহারকারীর যাত্রায় ল্যাটেন্সি পরীক্ষা এবং নির্ণয় করতে অ্যান্ড্রয়েড স্টুডিওতে সিস্টেম ট্রেস বৈশিষ্ট্যটি ব্যবহার করুন। এই তথ্যের সাহায্যে, আপনার বেসলাইন প্রোফাইলের বিষয়বস্তু যাচাই করুন এবং আপনার কোড লজিকের সম্ভাব্য অদক্ষতাগুলি সনাক্ত করুন।
অতিরিক্ত সরঞ্জাম
কর্মক্ষমতা উন্নতির সরঞ্জামগুলি ছাড়াও, আপনি আপনার উৎপাদনশীলতা এবং কর্মপ্রবাহ উন্নত করতে অন্যান্য সরঞ্জাম ব্যবহার করতে পারেন।
অ্যান্ড্রয়েড স্টুডিও উৎপাদনশীলতা সরঞ্জাম
অ্যান্ড্রয়েড স্টুডিও বেশ কিছু টুল সরবরাহ করে যা কর্মক্ষমতা উন্নতি সনাক্তকরণে আপনার ব্যয় করা সময় কমাতে পারে।
উদাহরণস্বরূপ, লাইভ এডিট এবং কম্পোজেবল প্রিভিউ এর মতো টুল ব্যবহার করে, আপনি কর্মক্ষমতা উন্নতির জন্য আপনার অ্যাপের কোডের সাথে সম্পর্কিত ক্ষেত্রগুলির সাথে জ্যাঙ্কি UI উপাদানগুলি সনাক্ত করতে পারেন।
আপনার লক্ষ্য ব্যবহারকারী বেসকে সঠিকভাবে উপস্থাপন করে এমন একটি ফিজিক্যাল Wear OS ডিভাইসের স্যুটে সমস্ত চূড়ান্ত কর্মক্ষমতা পরীক্ষা চালান।
ম্যাটেরিয়াল ৩ এক্সপ্রেসিভ-এ মাইগ্রেট করার সময় এটি বিশেষভাবে গুরুত্বপূর্ণ, যা আপনার অ্যাপে ফ্লেক্স ফন্ট এবং শেপ মর্ফিংয়ের মতো বৈশিষ্ট্যগুলি প্রবর্তন করে।
যদি আপনি ভিউ থেকে মাইগ্রেট করেন, তাহলে জেটপ্যাক কম্পোজ ব্যবহার করার সময় আপনার অ্যাপের UI গুলি কার্যকর কিনা তা যাচাই করার জন্য মাইগ্রেশন গাইড এবং জেটপ্যাক কম্পোজ পারফরম্যান্সের জন্য আমাদের সেরা অনুশীলনগুলি দেখুন।
অন্যান্য সম্পদ
অ্যান্ড্রয়েডের সর্বশেষ পারফরম্যান্স সম্পর্কে হালনাগাদ থাকতে, অ্যাপ পারফরম্যান্স গাইডের সর্বশেষ খবর এবং ভিডিওগুলি দেখুন।