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