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