Wear OS-এ পারফরম্যান্স অ্যাপগুলির জন্য একটি অপরিহার্য বিবেচনা, কারণ অনেক Wear OS ডিভাইসে বড় মোবাইল ডিভাইসের তুলনায় সীমিত CPU এবং GPU সংস্থান রয়েছে। উপাদান 3 এক্সপ্রেসিভ-এ সমৃদ্ধ অ্যানিমেশন এবং গতিশীল প্রভাবগুলির প্রবর্তনের সাথে, আপনার অ্যাপের মূল কার্যপ্রবাহগুলির কার্যকারিতা যাচাই এবং উন্নত করা উচিত।
জেটপ্যাক কম্পোজ ব্যবহার করে সর্বোত্তম পারফরম্যান্সের জন্য আপনার অ্যাপটি কনফিগার এবং বিকাশ করতে জেটপ্যাক কম্পোজ পারফরম্যান্স গাইড ব্যবহার করুন। এই নথিটি সেই নির্দেশিকায় বর্ণিত কিছু কৌশল তুলে ধরে।
এই কৌশলগুলি আপনার অ্যাপের জন্য প্রত্যাশিত হিসাবে কাজ করে তা যাচাই করতে পারফরম্যান্স পরিমাপের কৌশলগুলি তৈরি করুন এবং অনুসরণ করুন।
অপরিহার্য কর্মক্ষমতা উন্নতি কৌশল
সবচেয়ে কার্যকর পারফরম্যান্স টুলের ধরন দিয়ে শুরু করুন: বেসলাইন প্রোফাইল (স্টার্টআপ প্রোফাইল সহ) এবং R8 কোড অপ্টিমাইজার।
আপনার রচনা নির্ভরতা 1.8 বা উচ্চতর সংস্করণে আপডেট করুন, যা বেশ কয়েকটি উল্লেখযোগ্য নতুন বৈশিষ্ট্য প্রবর্তন করেছে এবং লাইব্রেরির সামগ্রিক স্থায়িত্ব উন্নত করেছে। কিভাবে আপডেট করতে হয় তা জানতে নির্ভরতা ঘোষণা করার নির্দেশাবলী দেখুন। আরও জানতে, 1.8 রিলিজ এবং কম্পোজ I/O টক-এ নতুন কী আছে সে সম্পর্কে আমাদের ব্লগ পড়ুন।
বেসলাইন প্রোফাইল
আপনার অ্যাপের কর্মক্ষমতা উন্নত করতে, বেসলাইন প্রোফাইল ব্যবহার করুন। আপনার অ্যাপের মূল ওয়ার্কফ্লোগুলিকে প্রতিনিধিত্ব করে এমন ক্লাস এবং পদ্ধতিগুলিকে একত্রে গোষ্ঠীভুক্ত করুন, যা সিস্টেম একটি বেসলাইন প্রোফাইল ব্যবহার করে প্রি-কম্পাইল করতে পারে। এটি স্টার্টআপের সময় কমাতে পারে, জ্যাঙ্কি ফ্রেমগুলি কমাতে পারে এবং অতিরিক্ত কর্মক্ষমতা উন্নতির প্রস্তাব দিতে পারে।
প্রতিটি Jetpack রচনা লাইব্রেরি তার নিজস্ব প্রোফাইল নিয়ম সঙ্গে জাহাজ. যখন আপনার অ্যাপটি একটি লাইব্রেরির উপর নির্ভর করে, তখন লাইব্রেরির প্রোফাইল নিয়মগুলি স্বয়ংক্রিয়ভাবে একত্রিত হয় এবং প্রি-কম্পাইলেশনের জন্য আপনার অ্যাপের APK-এর সাথে বিতরণ করা হয়।
নিম্নলিখিত কৌশলগুলি ব্যবহার করে আপনার বেসলাইন প্রোফাইলগুলি যাচাই করুন:
- ম্যাক্রোবেঞ্চমার্ক পরীক্ষা ব্যবহার করুন।
- আপনার অ্যাপের প্রোফাইল কনফিগারেশন অবস্থা যাচাই করতে নির্দিষ্ট ADB কমান্ড ব্যবহার করুন। কর্মক্ষমতা পরিমাপ এবং বৈধতা নির্দেশিকাতে এই উভয় কৌশলের পদক্ষেপগুলি ব্যাখ্যা করা হয়েছে।
স্টার্টআপ প্রোফাইল
বেসলাইন প্রোফাইলগুলির একটি উপসেট হিসাবে, স্টার্টআপ প্রোফাইলগুলি অ্যাপ স্টার্টআপ লেটেন্সি কমাতে ক্লাস এবং পদ্ধতিগুলিকে আরও অপ্টিমাইজ করে৷
একটি স্টার্টআপ প্রোফাইল যুক্ত করা আপনার অ্যাপের APK আকারকে বাড়িয়ে দেবে, তাই আপনার প্রোডাকশন রিলিজে একটি যোগ করার আগে, APK আকার এবং স্টার্টআপ লেটেন্সির মধ্যে ট্রেডঅফ মূল্যায়ন করতে ভুলবেন না।
শুরু করতে, একটি স্টার্টআপ প্রোফাইল তৈরি করুন পড়ুন।
R8
অ্যাপস সঙ্কুচিত এবং অপ্টিমাইজ করতে 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 অটোমেটর API প্রোগ্রামগতভাবে ইন্টারঅ্যাকশন স্বয়ংক্রিয় করে। সম্ভাব্য অপ্টিমাইজেশানের জন্য ব্যবহারকারীর যাত্রা পরিদর্শন করার সময় UI এর বিচ্ছিন্ন অংশগুলি বেঞ্চমার্ক করতে এই API ব্যবহার করুন।
ম্যাক্রোবেঞ্চমার্ক পরীক্ষা
ম্যাক্রোবেঞ্চমার্কগুলি আপনার অ্যাপের বৃহত্তর ব্যবহারের ক্ষেত্রে পরীক্ষা করে, বিশেষ করে অ্যাপ স্টার্টআপ এবং জটিল UI ম্যানিপুলেশন। শুরু করতে, বাস্তবায়ন নির্দেশিকা দেখুন।
বেসলাইন প্রোফাইলের কর্মক্ষমতা যাচাই করতে ম্যাক্রোবেঞ্চমার্ক ব্যবহার করার উদাহরণের জন্য, GitHub-এ কর্মক্ষমতা নমুনাগুলি দেখুন।
জ্যাঙ্কস্ট্যাটস লাইব্রেরি
অ্যাপ্লিকেশানগুলিতে কর্মক্ষমতা সমস্যাগুলি ট্র্যাক এবং বিশ্লেষণ করতে JankStats লাইব্রেরি ব্যবহার করুন৷
উদাহরণের জন্য, GitHub-এ JankStats নমুনা দেখুন।
সিস্টেম ট্রেস
ম্যাটেরিয়াল 3 এক্সপ্রেসিভ দ্বারা প্রবর্তিত নতুন অ্যানিমেশন প্রকারের সাথে, সম্ভাব্য সমস্যাযুক্ত ব্যবহারকারীর যাত্রায় লেটেন্সি পরিদর্শন এবং নির্ণয় করতে Android স্টুডিওতে সিস্টেম ট্রেস বৈশিষ্ট্যটি ব্যবহার করুন। এই তথ্যের সাহায্যে, আপনার বেসলাইন প্রোফাইলের বিষয়বস্তু যাচাই করুন এবং আপনার কোড লজিকের সম্ভাব্য অদক্ষতা চিহ্নিত করুন।
অতিরিক্ত সরঞ্জাম
কর্মক্ষমতা উন্নতির সরঞ্জাম ছাড়াও, আপনি আপনার উত্পাদনশীলতা এবং কর্মপ্রবাহ উন্নত করতে অন্যান্য সরঞ্জামগুলি ব্যবহার করতে পারেন।
অ্যান্ড্রয়েড স্টুডিও উত্পাদনশীলতা সরঞ্জাম
অ্যান্ড্রয়েড স্টুডিও বেশ কিছু টুল সরবরাহ করে যা পারফরম্যান্সের উন্নতি চিহ্নিত করতে আপনার ব্যয় করার সময় কমাতে পারে।
উদাহরণ স্বরূপ, লাইভ এডিট এবং কম্পোজেবল প্রিভিউ এর মত টুল ব্যবহার করে আপনি পারফরম্যান্সের উন্নতির জন্য আপনার অ্যাপের কোডের সাথে সংশ্লিষ্ট এলাকাগুলির সাথে জ্যাঙ্কি UI উপাদান চিহ্নিত করতে পারেন।
ফিজিক্যাল Wear OS ডিভাইসের একটি স্যুটে সমস্ত চূড়ান্ত পারফরম্যান্স পরীক্ষা চালান যা আপনার টার্গেট ব্যবহারকারী বেসকে সঠিকভাবে উপস্থাপন করে।
উপাদান 3 এক্সপ্রেসিভ-এ স্থানান্তরিত করার সময় এটি বিশেষভাবে গুরুত্বপূর্ণ, যা আপনার অ্যাপে ফ্লেক্স ফন্ট এবং শেপ মর্ফিংয়ের মতো বৈশিষ্ট্যগুলি প্রবর্তন করে৷
আপনি যদি ভিউ থেকে স্থানান্তরিত হয়ে থাকেন, জেটপ্যাক কম্পোজ ব্যবহার করার সময় আপনার অ্যাপের UI গুলি কার্যকরী কিনা তা যাচাই করতে Jetpack রচনা কর্মক্ষমতার জন্য মাইগ্রেশন গাইড এবং আমাদের সেরা অনুশীলনগুলি দেখুন।
অন্যান্য সম্পদ
অ্যান্ড্রয়েড পারফরম্যান্সের সর্বশেষ তথ্যের সাথে আপ টু ডেট থাকতে, অ্যাপ পারফরম্যান্স গাইডে সর্বশেষ খবর এবং ভিডিওগুলি দেখুন।
,Wear OS-এ পারফরম্যান্স অ্যাপগুলির জন্য একটি অপরিহার্য বিবেচনা, কারণ অনেক Wear OS ডিভাইসে বড় মোবাইল ডিভাইসের তুলনায় সীমিত CPU এবং GPU সংস্থান রয়েছে। উপাদান 3 এক্সপ্রেসিভ-এ সমৃদ্ধ অ্যানিমেশন এবং গতিশীল প্রভাবগুলির প্রবর্তনের সাথে, আপনার অ্যাপের মূল কার্যপ্রবাহগুলির কার্যকারিতা যাচাই এবং উন্নত করা উচিত।
জেটপ্যাক কম্পোজ ব্যবহার করে সর্বোত্তম পারফরম্যান্সের জন্য আপনার অ্যাপটি কনফিগার এবং বিকাশ করতে জেটপ্যাক কম্পোজ পারফরম্যান্স গাইড ব্যবহার করুন। এই নথিটি সেই নির্দেশিকায় বর্ণিত কিছু কৌশল তুলে ধরে।
এই কৌশলগুলি আপনার অ্যাপের জন্য প্রত্যাশিত হিসাবে কাজ করে তা যাচাই করতে পারফরম্যান্স পরিমাপের কৌশলগুলি তৈরি করুন এবং অনুসরণ করুন।
অপরিহার্য কর্মক্ষমতা উন্নতি কৌশল
সবচেয়ে কার্যকর পারফরম্যান্স টুলের ধরন দিয়ে শুরু করুন: বেসলাইন প্রোফাইল (স্টার্টআপ প্রোফাইল সহ) এবং R8 কোড অপ্টিমাইজার।
আপনার রচনা নির্ভরতা 1.8 বা উচ্চতর সংস্করণে আপডেট করুন, যা বেশ কয়েকটি উল্লেখযোগ্য নতুন বৈশিষ্ট্য প্রবর্তন করেছে এবং লাইব্রেরির সামগ্রিক স্থায়িত্ব উন্নত করেছে। কিভাবে আপডেট করতে হয় তা জানতে নির্ভরতা ঘোষণা করার নির্দেশাবলী দেখুন। আরও জানতে, 1.8 রিলিজ এবং কম্পোজ I/O টক-এ নতুন কী আছে সে সম্পর্কে আমাদের ব্লগ পড়ুন।
বেসলাইন প্রোফাইল
আপনার অ্যাপের কর্মক্ষমতা উন্নত করতে, বেসলাইন প্রোফাইল ব্যবহার করুন। আপনার অ্যাপের মূল ওয়ার্কফ্লোগুলিকে প্রতিনিধিত্ব করে এমন ক্লাস এবং পদ্ধতিগুলিকে একত্রে গোষ্ঠীভুক্ত করুন, যা সিস্টেম একটি বেসলাইন প্রোফাইল ব্যবহার করে প্রি-কম্পাইল করতে পারে। এটি স্টার্টআপের সময় কমাতে পারে, জ্যাঙ্কি ফ্রেমগুলি কমাতে পারে এবং অতিরিক্ত কর্মক্ষমতা উন্নতির প্রস্তাব দিতে পারে।
প্রতিটি Jetpack রচনা লাইব্রেরি তার নিজস্ব প্রোফাইল নিয়ম সঙ্গে জাহাজ. যখন আপনার অ্যাপটি একটি লাইব্রেরির উপর নির্ভর করে, তখন লাইব্রেরির প্রোফাইল নিয়মগুলি স্বয়ংক্রিয়ভাবে একত্রিত হয় এবং প্রি-কম্পাইলেশনের জন্য আপনার অ্যাপের APK-এর সাথে বিতরণ করা হয়।
নিম্নলিখিত কৌশলগুলি ব্যবহার করে আপনার বেসলাইন প্রোফাইলগুলি যাচাই করুন:
- ম্যাক্রোবেঞ্চমার্ক পরীক্ষা ব্যবহার করুন।
- আপনার অ্যাপের প্রোফাইল কনফিগারেশন অবস্থা যাচাই করতে নির্দিষ্ট ADB কমান্ড ব্যবহার করুন। কর্মক্ষমতা পরিমাপ এবং বৈধতা নির্দেশিকাতে এই উভয় কৌশলের পদক্ষেপগুলি ব্যাখ্যা করা হয়েছে।
স্টার্টআপ প্রোফাইল
বেসলাইন প্রোফাইলগুলির একটি উপসেট হিসাবে, স্টার্টআপ প্রোফাইলগুলি অ্যাপ স্টার্টআপ লেটেন্সি কমাতে ক্লাস এবং পদ্ধতিগুলিকে আরও অপ্টিমাইজ করে৷
একটি স্টার্টআপ প্রোফাইল যুক্ত করা আপনার অ্যাপের APK আকারকে বাড়িয়ে দেবে, তাই আপনার প্রোডাকশন রিলিজে একটি যোগ করার আগে, APK আকার এবং স্টার্টআপ লেটেন্সির মধ্যে ট্রেডঅফ মূল্যায়ন করতে ভুলবেন না।
শুরু করতে, একটি স্টার্টআপ প্রোফাইল তৈরি করুন পড়ুন।
R8
অ্যাপস সঙ্কুচিত এবং অপ্টিমাইজ করতে 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 অটোমেটর API প্রোগ্রামগতভাবে ইন্টারঅ্যাকশন স্বয়ংক্রিয় করে। সম্ভাব্য অপ্টিমাইজেশানের জন্য ব্যবহারকারীর যাত্রা পরিদর্শন করার সময় UI এর বিচ্ছিন্ন অংশগুলি বেঞ্চমার্ক করতে এই API ব্যবহার করুন।
ম্যাক্রোবেঞ্চমার্ক পরীক্ষা
ম্যাক্রোবেঞ্চমার্কগুলি আপনার অ্যাপের বৃহত্তর ব্যবহারের ক্ষেত্রে পরীক্ষা করে, বিশেষ করে অ্যাপ স্টার্টআপ এবং জটিল UI ম্যানিপুলেশন। শুরু করতে, বাস্তবায়ন নির্দেশিকা দেখুন।
বেসলাইন প্রোফাইলের কর্মক্ষমতা যাচাই করতে ম্যাক্রোবেঞ্চমার্ক ব্যবহার করার উদাহরণের জন্য, GitHub-এ কর্মক্ষমতা নমুনাগুলি দেখুন।
জ্যাঙ্কস্ট্যাটস লাইব্রেরি
অ্যাপ্লিকেশানগুলিতে কর্মক্ষমতা সমস্যাগুলি ট্র্যাক এবং বিশ্লেষণ করতে JankStats লাইব্রেরি ব্যবহার করুন৷
উদাহরণের জন্য, GitHub-এ JankStats নমুনা দেখুন।
সিস্টেম ট্রেস
ম্যাটেরিয়াল 3 এক্সপ্রেসিভ দ্বারা প্রবর্তিত নতুন অ্যানিমেশন প্রকারের সাথে, সম্ভাব্য সমস্যাযুক্ত ব্যবহারকারীর যাত্রায় লেটেন্সি পরিদর্শন এবং নির্ণয় করতে Android স্টুডিওতে সিস্টেম ট্রেস বৈশিষ্ট্যটি ব্যবহার করুন। এই তথ্যের সাহায্যে, আপনার বেসলাইন প্রোফাইলের বিষয়বস্তু যাচাই করুন এবং আপনার কোড লজিকের সম্ভাব্য অদক্ষতা চিহ্নিত করুন।
অতিরিক্ত সরঞ্জাম
কর্মক্ষমতা উন্নতির সরঞ্জাম ছাড়াও, আপনি আপনার উত্পাদনশীলতা এবং কর্মপ্রবাহ উন্নত করতে অন্যান্য সরঞ্জামগুলি ব্যবহার করতে পারেন।
অ্যান্ড্রয়েড স্টুডিও উত্পাদনশীলতা সরঞ্জাম
অ্যান্ড্রয়েড স্টুডিও বেশ কিছু টুল সরবরাহ করে যা পারফরম্যান্সের উন্নতি চিহ্নিত করতে আপনার ব্যয় করার সময় কমাতে পারে।
উদাহরণ স্বরূপ, লাইভ এডিট এবং কম্পোজেবল প্রিভিউ এর মত টুল ব্যবহার করে আপনি পারফরম্যান্সের উন্নতির জন্য আপনার অ্যাপের কোডের সাথে সংশ্লিষ্ট এলাকাগুলির সাথে জ্যাঙ্কি UI উপাদান চিহ্নিত করতে পারেন।
ফিজিক্যাল Wear OS ডিভাইসের একটি স্যুটে সমস্ত চূড়ান্ত পারফরম্যান্স পরীক্ষা চালান যা আপনার টার্গেট ব্যবহারকারী বেসকে সঠিকভাবে উপস্থাপন করে।
উপাদান 3 এক্সপ্রেসিভ-এ স্থানান্তরিত করার সময় এটি বিশেষভাবে গুরুত্বপূর্ণ, যা আপনার অ্যাপে ফ্লেক্স ফন্ট এবং শেপ মর্ফিংয়ের মতো বৈশিষ্ট্যগুলি প্রবর্তন করে৷
আপনি যদি ভিউ থেকে স্থানান্তরিত হয়ে থাকেন, জেটপ্যাক কম্পোজ ব্যবহার করার সময় আপনার অ্যাপের UI গুলি কার্যকরী কিনা তা যাচাই করতে Jetpack রচনা কর্মক্ষমতার জন্য মাইগ্রেশন গাইড এবং আমাদের সেরা অনুশীলনগুলি দেখুন।
অন্যান্য সম্পদ
অ্যান্ড্রয়েড পারফরম্যান্সের সর্বশেষ তথ্যের সাথে আপ টু ডেট থাকতে, অ্যাপ পারফরম্যান্স গাইডে সর্বশেষ খবর এবং ভিডিওগুলি দেখুন।
,Wear OS-এ পারফরম্যান্স অ্যাপগুলির জন্য একটি অপরিহার্য বিবেচনা, কারণ অনেক Wear OS ডিভাইসে বড় মোবাইল ডিভাইসের তুলনায় সীমিত CPU এবং GPU সংস্থান রয়েছে। উপাদান 3 এক্সপ্রেসিভ-এ সমৃদ্ধ অ্যানিমেশন এবং গতিশীল প্রভাবগুলির প্রবর্তনের সাথে, আপনার অ্যাপের মূল কার্যপ্রবাহগুলির কার্যকারিতা যাচাই এবং উন্নত করা উচিত।
জেটপ্যাক কম্পোজ ব্যবহার করে সর্বোত্তম পারফরম্যান্সের জন্য আপনার অ্যাপটি কনফিগার এবং বিকাশ করতে জেটপ্যাক কম্পোজ পারফরম্যান্স গাইড ব্যবহার করুন। এই নথিটি সেই নির্দেশিকায় বর্ণিত কিছু কৌশল তুলে ধরে।
এই কৌশলগুলি আপনার অ্যাপের জন্য প্রত্যাশিত হিসাবে কাজ করে তা যাচাই করতে পারফরম্যান্স পরিমাপের কৌশলগুলি তৈরি করুন এবং অনুসরণ করুন।
অপরিহার্য কর্মক্ষমতা উন্নতি কৌশল
সবচেয়ে কার্যকর পারফরম্যান্স টুলের ধরন দিয়ে শুরু করুন: বেসলাইন প্রোফাইল (স্টার্টআপ প্রোফাইল সহ) এবং R8 কোড অপ্টিমাইজার।
আপনার রচনা নির্ভরতা 1.8 বা উচ্চতর সংস্করণে আপডেট করুন, যা বেশ কয়েকটি উল্লেখযোগ্য নতুন বৈশিষ্ট্য প্রবর্তন করেছে এবং লাইব্রেরির সামগ্রিক স্থায়িত্ব উন্নত করেছে। কিভাবে আপডেট করতে হয় তা জানতে নির্ভরতা ঘোষণা করার নির্দেশাবলী দেখুন। আরও জানতে, 1.8 রিলিজ এবং কম্পোজ I/O টক-এ নতুন কী আছে সে সম্পর্কে আমাদের ব্লগ পড়ুন।
বেসলাইন প্রোফাইল
আপনার অ্যাপের কর্মক্ষমতা উন্নত করতে, বেসলাইন প্রোফাইল ব্যবহার করুন। আপনার অ্যাপের মূল ওয়ার্কফ্লোগুলিকে প্রতিনিধিত্ব করে এমন ক্লাস এবং পদ্ধতিগুলিকে একত্রে গোষ্ঠীভুক্ত করুন, যা সিস্টেম একটি বেসলাইন প্রোফাইল ব্যবহার করে প্রি-কম্পাইল করতে পারে। এটি স্টার্টআপের সময় কমাতে পারে, জ্যাঙ্কি ফ্রেমগুলি কমাতে পারে এবং অতিরিক্ত কর্মক্ষমতা উন্নতির প্রস্তাব দিতে পারে।
প্রতিটি Jetpack রচনা লাইব্রেরি তার নিজস্ব প্রোফাইল নিয়ম সঙ্গে জাহাজ. যখন আপনার অ্যাপটি একটি লাইব্রেরির উপর নির্ভর করে, তখন লাইব্রেরির প্রোফাইল নিয়মগুলি স্বয়ংক্রিয়ভাবে একত্রিত হয় এবং প্রি-কম্পাইলেশনের জন্য আপনার অ্যাপের APK-এর সাথে বিতরণ করা হয়।
নিম্নলিখিত কৌশলগুলি ব্যবহার করে আপনার বেসলাইন প্রোফাইলগুলি যাচাই করুন:
- ম্যাক্রোবেঞ্চমার্ক পরীক্ষা ব্যবহার করুন।
- আপনার অ্যাপের প্রোফাইল কনফিগারেশন অবস্থা যাচাই করতে নির্দিষ্ট ADB কমান্ড ব্যবহার করুন। কর্মক্ষমতা পরিমাপ এবং বৈধতা নির্দেশিকাতে এই উভয় কৌশলের পদক্ষেপগুলি ব্যাখ্যা করা হয়েছে।
স্টার্টআপ প্রোফাইল
বেসলাইন প্রোফাইলগুলির একটি উপসেট হিসাবে, স্টার্টআপ প্রোফাইলগুলি অ্যাপ স্টার্টআপ লেটেন্সি কমাতে ক্লাস এবং পদ্ধতিগুলিকে আরও অপ্টিমাইজ করে৷
একটি স্টার্টআপ প্রোফাইল যুক্ত করা আপনার অ্যাপের APK আকারকে বাড়িয়ে দেবে, তাই আপনার প্রোডাকশন রিলিজে একটি যোগ করার আগে, APK আকার এবং স্টার্টআপ লেটেন্সির মধ্যে ট্রেডঅফ মূল্যায়ন করতে ভুলবেন না।
শুরু করতে, একটি স্টার্টআপ প্রোফাইল তৈরি করুন পড়ুন।
R8
অ্যাপস সঙ্কুচিত এবং অপ্টিমাইজ করতে 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 অটোমেটর API প্রোগ্রামগতভাবে ইন্টারঅ্যাকশন স্বয়ংক্রিয় করে। সম্ভাব্য অপ্টিমাইজেশানের জন্য ব্যবহারকারীর যাত্রা পরিদর্শন করার সময় UI এর বিচ্ছিন্ন অংশগুলি বেঞ্চমার্ক করতে এই API ব্যবহার করুন।
ম্যাক্রোবেঞ্চমার্ক পরীক্ষা
ম্যাক্রোবেঞ্চমার্কগুলি আপনার অ্যাপের বৃহত্তর ব্যবহারের ক্ষেত্রে পরীক্ষা করে, বিশেষ করে অ্যাপ স্টার্টআপ এবং জটিল UI ম্যানিপুলেশন। শুরু করতে, বাস্তবায়ন নির্দেশিকা দেখুন।
বেসলাইন প্রোফাইলের কর্মক্ষমতা যাচাই করতে ম্যাক্রোবেঞ্চমার্ক ব্যবহার করার উদাহরণের জন্য, GitHub-এ কর্মক্ষমতা নমুনাগুলি দেখুন।
জ্যাঙ্কস্ট্যাটস লাইব্রেরি
অ্যাপ্লিকেশানগুলিতে কর্মক্ষমতা সমস্যাগুলি ট্র্যাক এবং বিশ্লেষণ করতে JankStats লাইব্রেরি ব্যবহার করুন৷
উদাহরণের জন্য, GitHub-এ JankStats নমুনা দেখুন।
সিস্টেম ট্রেস
ম্যাটেরিয়াল 3 এক্সপ্রেসিভ দ্বারা প্রবর্তিত নতুন অ্যানিমেশন প্রকারের সাথে, সম্ভাব্য সমস্যাযুক্ত ব্যবহারকারীর যাত্রায় লেটেন্সি পরিদর্শন এবং নির্ণয় করতে Android স্টুডিওতে সিস্টেম ট্রেস বৈশিষ্ট্যটি ব্যবহার করুন। এই তথ্যের সাহায্যে, আপনার বেসলাইন প্রোফাইলের বিষয়বস্তু যাচাই করুন এবং আপনার কোড লজিকের সম্ভাব্য অদক্ষতা চিহ্নিত করুন।
অতিরিক্ত সরঞ্জাম
কর্মক্ষমতা উন্নতির সরঞ্জাম ছাড়াও, আপনি আপনার উত্পাদনশীলতা এবং কর্মপ্রবাহ উন্নত করতে অন্যান্য সরঞ্জামগুলি ব্যবহার করতে পারেন।
অ্যান্ড্রয়েড স্টুডিও উত্পাদনশীলতা সরঞ্জাম
অ্যান্ড্রয়েড স্টুডিও বেশ কিছু টুল সরবরাহ করে যা পারফরম্যান্সের উন্নতি চিহ্নিত করতে আপনার ব্যয় করার সময় কমাতে পারে।
উদাহরণ স্বরূপ, লাইভ এডিট এবং কম্পোজেবল প্রিভিউ এর মত টুল ব্যবহার করে আপনি পারফরম্যান্সের উন্নতির জন্য আপনার অ্যাপের কোডের সাথে সংশ্লিষ্ট এলাকাগুলির সাথে জ্যাঙ্কি UI উপাদান চিহ্নিত করতে পারেন।
ফিজিক্যাল Wear OS ডিভাইসের একটি স্যুটে সমস্ত চূড়ান্ত পারফরম্যান্স পরীক্ষা চালান যা আপনার টার্গেট ব্যবহারকারী বেসকে সঠিকভাবে উপস্থাপন করে।
উপাদান 3 এক্সপ্রেসিভ-এ স্থানান্তরিত করার সময় এটি বিশেষভাবে গুরুত্বপূর্ণ, যা আপনার অ্যাপে ফ্লেক্স ফন্ট এবং শেপ মর্ফিংয়ের মতো বৈশিষ্ট্যগুলি প্রবর্তন করে৷
আপনি যদি ভিউ থেকে স্থানান্তরিত হয়ে থাকেন, জেটপ্যাক কম্পোজ ব্যবহার করার সময় আপনার অ্যাপের UI গুলি কার্যকরী কিনা তা যাচাই করতে Jetpack রচনা কর্মক্ষমতার জন্য মাইগ্রেশন গাইড এবং আমাদের সেরা অনুশীলনগুলি দেখুন।
অন্যান্য সম্পদ
অ্যান্ড্রয়েড পারফরম্যান্সের সর্বশেষ তথ্যের সাথে আপ টু ডেট থাকতে, অ্যাপ পারফরম্যান্স গাইডে সর্বশেষ খবর এবং ভিডিওগুলি দেখুন।