Compose Runtime - সম্পূর্ণ ব্যবহার সহজ ভাষায়!
🧠 Compose Runtime - সম্পূর্ণ ব্যবহার সহজ ভাষায়! 🚀
Jetpack Compose Runtime হল Compose-এর ইঞ্জিন, যা UI-কে স্মার্টভাবে আপডেট করে। ঠিক যেমন গুগল ম্যাপে লাইভ লোকেশন আপডেট হয়, ঠিক তেমনই UI আপডেট হয় শুধুমাত্র যেখানে দরকার!
✅ ১. প্রথমে Gradle-এ যুক্ত করুন
আপনার build.gradle (Module: app) ফাইলে নিচের ডিপেনডেন্সি যোগ করুন:
dependencies {
implementation("androidx.compose.runtime:runtime:1.5.4")
}
👉 এটি কী করবে?
- এটি Compose Runtime লাইব্রেরি ডাউনলোড করবে, যা State Management, Recomposition, এবং UI Optimization পরিচালনা করে।
✅ ২. State পরিবর্তন হলে শুধুমাত্র প্রয়োজনীয় UI আপডেট করুন
Compose Runtime ব্যবহার করলে কোনো UI পরিবর্তন হলে, শুধুমাত্র প্রয়োজনীয় অংশ আপডেট হয়!
🎯 Button Counter (State Tracking)
import androidx.compose.runtime.*
import androidx.compose.material3.*
@Composable
fun CounterApp() {
var count by remember { mutableStateOf(0) } // 🔥 স্মার্ট স্টেট
Button(onClick = { count++ }) {
Text(text = "Clicked $count times")
}
}
📌 কি হচ্ছে এখানে?
✅ mutableStateOf(0) → এটি Compose Runtime-কে state ট্র্যাক করতে সাহায্য করে।
✅ যখন count পরিবর্তন হয়, শুধু Text আপডেট হয়, পুরো UI নয়!
✅ ৩. Recomposition অপ্টিমাইজ করা (অপ্রয়োজনীয় UI refresh এড়ানো)
Compose Runtime-এর মজা হল পুরো স্ক্রিন রি-ড্র না করে, শুধু পরিবর্তিত অংশ আপডেট করা!
🎯 শুধু প্রয়োজনীয় অংশ আপডেট করুন
@Composable
fun Greeting(name: String) {
Text(text = "Hello, $name!") // 👈 শুধু টেক্সট আপডেট হবে, পুরো স্ক্রিন নয়!
}
👉 যখন name পরিবর্তন হবে, শুধু Text আপডেট হবে, পুরো UI নয়!
✅ ৪. @Stable ও @Immutable ব্যবহার করে পারফরম্যান্স বাড়ানো
Compose Runtime বুঝতে পারে কোন জিনিস কখন পরিবর্তন হবে এবং কখন হবে না!
🎯 Immutable & Stable ক্লাস ব্যবহার করুন
import androidx.compose.runtime.Immutable
import androidx.compose.runtime.Stable
@Stable
class User(val name: String) // ⚡ পরিবর্তনশীল কিন্তু অপ্টিমাইজড
@Immutable
data class Product(val id: Int, val name: String) // 🔥 একদম অপরিবর্তনশীল
📌 এগুলো কী করে?
@Stable→ Compose বুঝবে যেUserএর কিছু অংশ পরিবর্তন হতে পারে, কিন্তু এটি অপ্টিমাইজ করবে।@Immutable→ Compose নিশ্চিত হবে যেProductকখনো পরিবর্তন হবে না, ফলে দ্রুত প্রসেস হবে।
✅ ৫. Snapshot System (Compose Runtime ম্যাজিক)
Compose Runtime Snapshot System ব্যবহার করে UI-কে স্মার্টভাবে আপডেট করে।
🎯 Live Updating Text Example
@Composable
fun LiveText() {
var text by remember { mutableStateOf("Hello!") } // 🔥 Live Data
Column {
Text(text) // 👈 শুধুমাত্র এই টেক্সট পরিবর্তন হবে
Button(onClick = { text = "Updated!" }) {
Text("Update Text")
}
}
}
👉 Compose বুঝবে শুধু Text আপডেট করতে হবে, সম্পূর্ণ UI নয়!
🎯 🔥 Compose Runtime = স্মার্ট UI + পারফরম্যান্স অপ্টিমাইজেশন!
✅ State ম্যানেজ করা সহজ (mutableStateOf)
✅ শুধু প্রয়োজনীয় অংশ Recompose হয় (Optimization)
✅ Immutable এবং Stable Object দিয়ে স্মার্ট পারফরম্যান্স
✅ Snapshot System ব্যবহার করে লাইভ UI আপডেট
🎬 সংক্ষেপে:
1️⃣ Gradle-এ androidx.compose.runtime:runtime যোগ করুন।
2️⃣ mutableStateOf, remember, @Stable, @Immutable ব্যবহার করুন।
3️⃣ Compose Runtime অপ্রয়োজনীয় UI redraw এড়াবে, ফলে অ্যাপ ফাস্ট হবে! 🚀
💡 প্রশ্ন থাকলে জানাবেন! 😊
Comments
Post a Comment