Lifecycle-Aware Components কী?

 

🎯 Lifecycle-Aware Components কী?

Android অ্যাপে অনেক সময় আমরা এমন কাজ করি যেগুলো অ্যাপের Lifecycle (Activity বা Fragment-এর চলার ধাপ) এর ওপর নির্ভর করে। যেমন:

ডেটা লোড করা যখন অ্যাপ শুরু হয়
সেন্সর থেকে ডেটা নেওয়া যখন ইউজার অ্যাপ চালায়
সেটিংস সংরক্ষণ করা যখন অ্যাপ বন্ধ হয়

👉 Lifecycle-Aware Components হলো এমন কিছু জিনিস (Classes) যেগুলো Activity বা Fragment-এর লাইফসাইকেল বুঝতে পারে এবং নিজে থেকেই সঠিক সময়ে কাজ করে!


🏗 কেন দরকার?

আগে ম্যানুয়ালি লাইফসাইকেল হ্যান্ডেল করতে হত, যেমন:

@Override
protected void onStart() {
    super.onStart();
    mySensor.start(); // সেন্সর চালু
}

@Override
protected void onStop() {
    super.onStop();
    mySensor.stop(); // সেন্সর বন্ধ
}

❌ এটা ঝামেলা তৈরি করতে পারে, ভুল হলে Memory Leak ও হতে পারে!

Lifecycle-Aware Components ব্যবহার করলে এগুলো নিজে থেকেই Lifecycle অনুযায়ী কাজ করে!


কীভাবে কাজ করে?

Android Jetpack লাইব্রেরির Lifecycle API ব্যবহার করলে সহজেই লাইফসাইকেল-অওয়্যার কম্পোনেন্ট বানানো যায়।

১️⃣ LifecycleObserver ব্যবহার করা

আমরা LifecycleObserver ইন্টারফেস ব্যবহার করে একটা ক্লাস বানাতে পারি, যা Activity বা Fragment-এর অবস্থা বুঝবে।

class MyObserver implements LifecycleObserver {
    
    @OnLifecycleEvent(Lifecycle.Event.ON_START)
    void onStart() {
        Log.d("MyObserver", "অ্যাপ শুরু হয়েছে!");
    }

    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
    void onStop() {
        Log.d("MyObserver", "অ্যাপ বন্ধ হচ্ছে!");
    }
}

২️⃣ একটি LifecycleOwner (যেমন: Activity) তে এটাকে যোগ করা

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        getLifecycle().addObserver(new MyObserver()); // Lifecycle-Aware Component যোগ করা
    }
}

🔹 এখন onStart() আর onStop() Activity-এর Lifecycle অনুযায়ী অটোমেটিক কাজ করবে!


🚀 Lifecycle-Aware Components ব্যবহারের সুবিধা

কম কোডে স্মার্ট Lifecycle হ্যান্ডলিং
Memory Leak রোধ করা
অনেক লাইব্রেরি (LiveData, ViewModel, CameraX) সহজেই লাইফসাইকেল-aware হয়


🎯 সংক্ষেপে

📌 Lifecycle-Aware Components হলো এমন ক্লাস, যেগুলো Activity বা Fragment-এর Lifecycle বুঝতে পারে এবং নিজে থেকেই সঠিক সময়ে কাজ করে। এতে অ্যাপ আরও স্মার্ট, ইফিশিয়েন্ট ও বাগ-মুক্ত হয়! 🚀🔥

তুমি কি কোনো নির্দিষ্ট উদাহরণ বা গভীর ব্যাখ্যা চাও? 😊

Comments

Popular posts from this blog

AI (Artificial Intelligence) সহজভাবে বোঝার জন্য একদম মস্তিষ্ক-বান্ধব ব্যাখ্যা 🧠🤖

🧠 Regex কী?

Kotlin-এ ভেরিয়েবল ঘোষণা করার দুই উপায়