লাইফসাইকেল লাইব্রেরি অন্তর্নির্মিত API অফার করে যা আপনাকে জেটপ্যাক রচনার সাথে একীভূত করতে দেয়। কী API গুলি নিম্নলিখিত অন্তর্ভুক্ত করে:
- বর্তমান
Lifecycle.State
জন্য প্রবাহ। -
LifecycleEffects
যা আপনাকে একটি নির্দিষ্টLifecycle.Event
এর উপর ভিত্তি করে একটি ব্লক চালাতে দেয়।
এই ইন্টিগ্রেশনগুলি রচনা অনুক্রমের মধ্যে লাইফসাইকেলগুলি পরিচালনা করার জন্য সুবিধাজনক হুক প্রদান করে। এই দস্তাবেজটি রূপরেখা দেয় যে আপনি কীভাবে সেগুলি আপনার অ্যাপে ব্যবহার করতে পারেন৷
প্রবাহ সহ জীবনচক্র অবস্থা সংগ্রহ করুন
লাইফসাইকেল একটি currentStateFlow
সম্পত্তি প্রকাশ করে যা বর্তমান Lifecycle.State
কোটলিন StateFlow
হিসাবে প্রদান করে। আপনি State
হিসাবে এই Flow
সংগ্রহ করতে পারেন. এটি আপনার অ্যাপটিকে রচনার সময় জীবনচক্রের পরিবর্তনগুলি পড়তে দেয়৷
val lifecycleOwner = LocalLifecycleOwner.current
val stateFlow = lifecycleOwner.lifecycle.currentStateFlow
…
val currentLifecycleState by stateFlow.collectAsState()
পূর্ববর্তী উদাহরণটি lifecycle-common
মডিউল ব্যবহার করে অ্যাক্সেসযোগ্য। currentStateAsState()
পদ্ধতিটি lifecycle-runtime-compose
মডিউলে উপলব্ধ, যা আপনাকে একটি লাইনের সাথে বর্তমান লাইফসাইকেল অবস্থা সহজেই পড়তে দেয়। নিম্নলিখিত উদাহরণ এটি প্রদর্শন করে:
val lifecycleOwner = LocalLifecycleOwner.current
val currentLifecycleState = lifecycleOwner.lifecycle.currentStateAsState()
জীবনচক্র ইভেন্টে কোড চালান
এছাড়াও LifecycleEffects
রয়েছে যা আপনাকে একটি ব্লক চালাতে দেয় যখন একটি নির্দিষ্ট Lifecycle.Event
ঘটে।
LifecycleEventEffect(Lifecycle.Event.ON_START) {
// do something here
}
LifecycleEventEffect
ছাড়াও, আপনি LifecycleStartEffect
এবং LifecycleResumeEffect
ব্যবহার করতে পারেন। এই APIগুলি নির্দিষ্ট ইভেন্টের সাথে আবদ্ধ। তারা তাদের প্রাথমিক ব্লকের মধ্যে একটি অতিরিক্ত ব্লক অফার করে যা ইভেন্টটি শুরু হতে পারে এমন কোনও কোড পরিষ্কার করতে সহায়তা করে।
লাইফসাইকেল স্টার্ট ইফেক্ট
LifecycleStartEffect
LifecycleEffect
এর মতই, কিন্তু এটি শুধুমাত্র Lifecycle.Event.ON_START
ইভেন্টে চলে। এটি অন্যান্য কম্পোজ কীগুলির মতো কাজ করে এমন কীগুলিও গ্রহণ করে। যখন কী পরিবর্তন হয়, এটি ব্লকটিকে আবার চালানোর জন্য ট্রিগার করে।
যখন একটি Lifecycle.Event.ON_STOP
ইভেন্ট থাকে বা প্রভাবটি রচনা থেকে বেরিয়ে যায়, এটি একটি onStopOrDispose
ব্লক কার্যকর করে। এটি প্রারম্ভিক ব্লকের অংশ ছিল এমন যেকোনো কাজ পরিষ্কার করার অনুমতি দেয়।
LifecycleStartEffect {
// ON_START code is executed here
onStopOrDispose {
// do any needed clean up here
}
}
লাইফসাইকেল রিজুম ইফেক্ট
LifecycleResumeEffect
LifecycleStartedEffect
এর মতোই কাজ করে, কিন্তু এটি পরিবর্তে Lifecycle.Event.ON_RESUME
ইভেন্টে কার্যকর করে। এটি একটি onPauseOrDispose
ব্লকও প্রদান করে যা পরিষ্কারের কাজ করে।
LifecycleResumeEffect {
// ON_RESUME code is executed here
onPauseOrDispose {
// do any needed clean up here
}
}