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