Jetpack Compose ইনস্টল করার সাথে সাথেই চমৎকার পারফরম্যান্স প্রদান করে। সাধারণ ভুলগুলো এড়াতে এবং আপনার Compose অ্যাপ্লিকেশনের পারফরম্যান্স অপ্টিমাইজ করতে সেরা পদ্ধতিগুলো ব্যবহার করে আপনার অ্যাপটি কনফিগার করুন।
জেটপ্যাক কম্পোজের বেঞ্চমার্কিং
ভিউস-এর সাথে জেটপ্যাক কম্পোজ-এর পারফরম্যান্স যাচাই করার জন্য, আমরা হিরো বেঞ্চমার্ক ব্যবহার করি—এই বেঞ্চমার্কগুলো গুরুত্বপূর্ণ ও বাস্তব-জগতের ইউজার জার্নির উপর আলোকপাত করে, যেমন কোনো অ্যাপ কোল্ড স্টার্ট করা বা ছবিসহ কোনো লিস্ট বা গ্রিড স্ক্রল করা। আমরা ওপেন-সোর্স পোকেডেক্স অ্যাপটি ব্যবহার করে এই বেঞ্চমার্কগুলো পরিচালনা করি এবং এর ভিউস ও কম্পোজ ইমপ্লিমেন্টেশনগুলোর মধ্যে তুলনা করি।
এই বেঞ্চমার্কগুলো দেখায় যে, স্ক্রোল করার সময় ঝাঁকুনির (jank) ক্ষেত্রে Compose 1.9 এবং এর পরবর্তী সংস্করণগুলোর পারফরম্যান্স Views-এর সমতুল্য।
অতিরিক্ত মেট্রিক্স এবং আমাদের কার্যপদ্ধতি সম্পর্কে জানতে, হিরো বেঞ্চমার্কস দেখুন।
মূল ধারণা
কম্পোজে ভালো পারফরম্যান্সের জন্য এইগুলি কয়েকটি মূল ধারণা:
- পর্যায়সমূহ : কম্পোজ কীভাবে আপনার UI আপডেট করে, তা অপ্টিমাইজ করার জন্য কম্পোজিশন, লেআউট এবং ড্রয়িং পর্যায়গুলো বোঝা অত্যন্ত গুরুত্বপূর্ণ।
- বেসলাইন প্রোফাইল : এই প্রোফাইলগুলো অত্যাবশ্যকীয় কোড প্রি-কম্পাইল করে, যার ফলে অ্যাপ দ্রুত চালু হয় এবং ইন্টারঅ্যাকশন আরও মসৃণ হয়।
- স্থিতিশীলতা : আপনার অ্যাপের স্থিতিশীলতা বাড়িয়ে অপ্রয়োজনীয় পুনর্গঠন আরও দক্ষতার সাথে এড়িয়ে যান, যা পারফরম্যান্স উন্নত করে।
আপনার অ্যাপটি সঠিকভাবে কনফিগার করুন।
আপনার অ্যাপটি যদি ঠিকমতো কাজ না করে, তাহলে কনফিগারেশনে কোনো সমস্যা থাকতে পারে। এক্ষেত্রে প্রথম ভালো পদক্ষেপ হলো নিম্নলিখিত কনফিগারেশন অপশনগুলো পরীক্ষা করে দেখা:
- R8 দিয়ে রিলিজ মোডে বিল্ড করুন: আপনার অ্যাপটি রিলিজ মোডে চালানোর চেষ্টা করুন। ডিবাগ মোড অনেক সমস্যা খুঁজে বের করার জন্য উপযোগী, কিন্তু এটি পারফরম্যান্সের ওপর চাপ সৃষ্টি করে এবং অন্যান্য সমস্যা খুঁজে বের করা কঠিন করে তুলতে পারে। একটি পারফরম্যান্ট এবং দক্ষ রিলিজ বিল্ড নিশ্চিত করতে আপনার R8 কম্পাইলারের সাথে অপটিমাইজিং এবং শ্রিংকিংও চালু করা উচিত।
- বেসলাইন প্রোফাইল ব্যবহার করুন: বেসলাইন প্রোফাইল গুরুত্বপূর্ণ ইউজার জার্নির জন্য কোড প্রি-কম্পাইল করে পারফরম্যান্স উন্নত করে। কম্পোজে একটি ডিফল্ট প্রোফাইল অন্তর্ভুক্ত থাকে, কিন্তু আদর্শগতভাবে, আপনার একটি অ্যাপ-নির্দিষ্ট প্রোফাইলও তৈরি করা উচিত। সাধারণ অ্যান্ড্রয়েড পারফরম্যান্স ডক্স-এ বেসলাইন প্রোফাইল সম্পর্কে আরও জানুন।
সরঞ্জাম
আপনার Compose অ্যাপের পারফরম্যান্স পরিমাপ ও বিশ্লেষণ করতে সাহায্য করে এমন টুলগুলোর সাথে পরিচিত হয়ে নিন।
সর্বোত্তম অনুশীলন
Compose ব্যবহার করে আপনার অ্যাপ তৈরি করার সময় এই সেরা অনুশীলনগুলো মনে রাখবেন:
- ব্যয়বহুল গণনা পরিহার করুন : ব্যয়বহুল গণনার ফলাফল ক্যাশ করতে
rememberব্যবহার করুন। - লেজি লেআউটকে সহায়তা করুন : অপ্রয়োজনীয় পুনর্গঠন কমাতে
keyপ্যারামিটার ব্যবহার করে লেজি লেআউটগুলিতে স্থিতিশীল কী প্রদান করুন। - অপ্রয়োজনীয় পুনর্গঠন সীমিত করুন : দ্রুত স্টেট পরিবর্তনের সময় পুনর্গঠন সীমিত করতে
derivedStateOfব্যবহার করুন। - স্টেট রিড স্থগিত করুন : ল্যাম্বডা ফাংশনের মধ্যে রেখে স্টেট রিডগুলোকে যথাসম্ভব দীর্ঘ সময়ের জন্য স্থগিত রাখুন।
- স্টেট পরিবর্তনের জন্য ল্যাম্বডা মডিফায়ার ব্যবহার করুন : ঘন ঘন পরিবর্তনশীল স্টেট ভেরিয়েবলের জন্য
Modifier.offset { ... }এর মতো ল্যাম্বডা-ভিত্তিক মডিফায়ার ব্যবহার করুন। - পশ্চাৎমুখী লিখন পরিহার করুন : একটি কম্পোজেবলে যে স্টেট ইতিমধ্যে পড়া হয়েছে, সেখানে কখনও লিখবেন না।
আরও বিস্তারিত জানতে, সর্বোত্তম অনুশীলন নির্দেশিকাটি দেখুন।
মতামত
আপনি যদি Compose-এর পরিবর্তে View নিয়ে কাজ করেন, তাহলে লেআউটের কর্মক্ষমতা উন্নত করার জন্য নির্দিষ্ট নির্দেশিকাটি দেখুন।
অতিরিক্ত সম্পদ
- অ্যাপ পারফরম্যান্স গাইড : অ্যান্ড্রয়েডের পারফরম্যান্স উন্নত করার জন্য সেরা পদ্ধতি, লাইব্রেরি এবং টুলস সম্পর্কে জানুন।
- পারফরম্যান্স পরিদর্শন করুন : অ্যাপের পারফরম্যান্স পরিদর্শন করুন।
- বেঞ্চমার্কিং : অ্যাপের পারফরম্যান্স বেঞ্চমার্ক করুন।
- অ্যাপ চালু করা : অ্যাপ চালু করার প্রক্রিয়া অপ্টিমাইজ করুন।
- বেসলাইন প্রোফাইল : বেসলাইন প্রোফাইলগুলো বুঝুন।