मोबाइल डेवलपमेंट में जीवन चक्र: यह क्या है, क्या चरण हैं और कैसे काम करता है

लेखक: IT Sectr प्रकाशित: 2026-03-02 पढ़ने का समय: 9 मिनट

मोबाइल ऐप का जीवन चक्र यह निर्धारित करता है कि ऐप लॉन्च होने, मिनिमाइज़ होने, बैकग्राउंड से वापस आने और बंद होने पर कैसे व्यवहार करता है। इस लेख में हम App Lifecycle (iOS), Activity Lifecycle (Android), Fragment Lifecycle, ViewController Lifecycle और LifecycleOwner के बारे में जानेंगे। मेमोरी लीक, डेटा हानि और ऐप के गलत व्यवहार को रोकने के लिए इन प्रक्रियाओं को समझना महत्वपूर्ण है। अधिक जानकारी के लिए आधिकारिक Android Activity Lifecycle दस्तावेज़ीकरण देखें।

मुख्य बातें

  • Activity Lifecycle (Android) में 7 विधियाँ शामिल हैं: onCreate → onStart → onResume → onPause → onStop → onDestroy + onRestart
  • ViewController Lifecycle (iOS) क्रम में कॉल होता है: viewDidLoad → viewWillAppear → viewDidAppear → viewWillDisappear → viewDidDisappear
  • iOS App Lifecycle में 5 अवस्थाएँ हैं: Not Running, Inactive, Active, Background, Suspended
  • Fragment Lifecycle Activity से जुड़ा है लेकिन इसकी अपनी विधियाँ हैं: onAttach, onCreateView, onViewCreated
  • LifecycleOwner (Android) LifecycleObserver के माध्यम से जीवन चक्र की घटनाओं की सदस्यता लेने की अनुमति देता है

ऐप जीवन चक्र (App Lifecycle)

व्यक्तिगत स्क्रीन के जीवन चक्र में जाने से पहले, पूरे ऐप के जीवन चक्र को समझना महत्वपूर्ण है। iOS में, ऐप पाँच अवस्थाओं से गुज़रता है: Not Running (चालू नहीं), Inactive (बैकग्राउंड में, घटनाएँ प्राप्त नहीं करता), Active (सक्रिय), Background (बैकग्राउंड में, कोड निष्पादित हो रहा है) और Suspended (बैकग्राउंड में, कोड रोक दिया गया है)। इन अवस्थाओं का प्रबंधन AppDelegate में applicationDidFinishLaunching, applicationDidBecomeActive, applicationWillResignActive, applicationDidEnterBackground और applicationWillTerminate विधियों के माध्यम से किया जाता है।

Android में, इसका समकक्ष Application Lifecycle है, जिसे Application.ActivityLifecycleCallbacks इंटरफ़ेस के माध्यम से ट्रैक किया जाता है। हालाँकि, Android Activity — एक व्यक्तिगत ऐप स्क्रीन — के जीवन चक्र पर अधिक ध्यान केंद्रित करता है। ऐसा इसलिए है क्योंकि Android ऐप में कई Activities हो सकती हैं, प्रत्येक का अपना चक्र होता है।

Android में आधुनिक दृष्टिकोण lifecycle-process लाइब्रेरी से ProcessLifecycleOwner का उपयोग करना है। यह किसी विशिष्ट Activity से बंधे बिना पूरी प्रक्रिया की स्थिति को ट्रैक करने की अनुमति देता है। iOS में, ऐप स्थिति को ट्रैक करने के लिए UISceneDelegate (iOS 13 से) या AppDelegate का उपयोग किया जाता है। SceneDelegate iPad पर कई विंडो (multiwindow) को संभालता है। App Lifecycle को समझना IT Sectr के लिए बैकग्राउंड सिंक्रोनाइज़ेशन, स्ट्रीमिंग और VoIP कॉल वाले ऐप विकसित करते समय विशेष रूप से महत्वपूर्ण है।

Android में Activity Lifecycle

Activity Android ऐप का मूल घटक है, जो एक स्क्रीन का प्रतिनिधित्व करता है। Activity का एक स्पष्ट रूप से परिभाषित जीवन चक्र होता है जो उपयोगकर्ता क्रियाओं और सिस्टम घटनाओं (स्क्रीन रोटेशन, इनकमिंग कॉल, कम मेमोरी) के जवाब में ऑपरेटिंग सिस्टम द्वारा प्रबंधित किया जाता है।

विधि विवरण क्या करें
onCreateActivity बनने पर एक बार कॉल होता हैUI आरंभीकरण, findViewById, ViewModel सेटअप
onStartActivity दृश्यमान हो जाती हैएनिमेशन शुरू करें, BroadCastReceiver पंजीकृत करें
onResumeActivity को इनपुट फ़ोकस मिलता हैकैमरा, सेंसर, एनिमेशन शुरू करें
onPauseActivity फ़ोकस खो देती है (आंशिक रूप से दृश्यमान)ड्राफ्ट सहेजें, एनिमेशन रोकें
onStopActivity दृश्यमान नहीं हैसंसाधन मुक्त करें, अपडेट रोकें
onDestroyActivity नष्ट हो जाती हैसभी संदर्भ साफ़ करें, LiveData से सदस्यता रद्द करें
onRestartonStop के बाद onStart से पहले कॉल होता हैपुनः आरंभीकरण

महत्वपूर्ण: अस्थायी स्थिति सहेजने के लिए onSaveInstanceState onStop से पहले कॉल होता है। पुनर्स्थापना onCreate में Bundle savedInstanceState के माध्यम से या ViewModel में SavedStateHandle के माध्यम से होती है। जीवन चक्र के उचित प्रबंधन के बिना, स्क्रीन घुमाने पर ऐप सभी असंग्रहीत डेटा खो देगा।

kotlin
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
    override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
        outState.putString("draft", draftText)
    }
    override fun onDestroy() {
        super.onDestroy()
        // Отписка от всех подписок
    }
}

Jetpack Compose में Activity Lifecycle

Jetpack Compose में, Activity का जीवन चक्र अपरिवर्तित रहता है, लेकिन Compose अतिरिक्त उपकरण प्रदान करता है: LifecycleOwner के माध्यम से Lifecycle-aware composition, नष्ट होने पर स्वचालित संसाधन सफाई के लिए LifecycleEventEffect और DisposableEffect इफ़ेक्ट।

पूरे विवरण में Fragment Lifecycle

Android में Fragment Activity के अंदर रहता है और इसका अपना जीवन चक्र होता है, जो आंशिक रूप से Activity से ओवरलैप होता है लेकिन नई विधियाँ जोड़ता है। Fragments को Activity को नष्ट किए बिना जोड़ा, बदला और हटाया जा सकता है, जो उन्हें अधिक लचीला बनाता है लेकिन अधिक जटिल भी।

Fragment Lifecycle की मुख्य विधियाँ: onAttach — Fragment Activity से जुड़ा (पहला कॉल); onCreate — डेटा आरंभीकरण; onCreateView — View निर्माण; onViewCreated — View बन गई, UI कॉन्फ़िगर किया जा सकता है; onStart — Fragment दृश्यमान; onResume — Fragment फ़ोकस में; onPause — Fragment फ़ोकस खोता है; onStop — Fragment दृश्यमान नहीं; onDestroyView — View नष्ट हो जाती है; onDestroy — Fragment नष्ट हो जाता है; onDetach — Fragment Activity से अलग हो जाता है।

Activity से मुख्य अंतर: onCreateView और onDestroyView को कई बार कॉल किया जा सकता है (उदाहरण के लिए, TabLayout स्विच करते समय), जबकि onCreate एक बार कॉल होता है। तदनुसार, View का आरंभीकरण onViewCreated में किया जाना चाहिए, onCreateView में नहीं। View से संबंधित संसाधनों (जैसे RecyclerView एडेप्टर) को onDestroyView में साफ़ किया जाना चाहिए।

iOS में ViewController Lifecycle

UIViewController iOS में स्क्रीन प्रबंधित करने के लिए आधार वर्ग है। इसका जीवन चक्र विधियों के एक क्रम से बना है जिसे UIKit स्वचालित रूप से कॉल करता है। इस चक्र को समझना उचित UI आरंभीकरण, डेटा प्रबंधन और मेमोरी हैंडलिंग के लिए महत्वपूर्ण है।

विधि कब कॉल होती है विशिष्ट उपयोग
loadViewजब View Controller अपना View पदानुक्रम लोड करता हैस्टोरीबोर्ड के बिना कस्टम आरंभीकरण
viewDidLoadView के मेमोरी में लोड होने के बाद (एक बार)UI सेटअप, प्रारंभिक डेटा लोड करना
viewWillAppearस्क्रीन पर View दिखने से पहलेडेटा अपडेट करना, सूचनाओं की सदस्यता लेना
viewDidAppearस्क्रीन पर View दिखने के बादएनिमेशन शुरू करना, ट्रैकिंग एनिमेशन शुरू करना
viewWillDisappearस्क्रीन से View गायब होने से पहलेस्थिति सहेजना, सूचनाओं से सदस्यता रद्द करना
viewDidDisappearस्क्रीन से View गायब होने के बादएनिमेशन रोकना, संसाधन मुक्त करना
deallocजब View Controller नष्ट होता हैसभी संसाधन मुक्त करना

महत्वपूर्ण: viewDidLoad View Controller के जीवन में केवल एक बार कॉल होता है। हर बार दिखने पर डेटा अपडेट करने के लिए viewWillAppear का उपयोग करें। यदि आप viewWillAppear में NotificationCenter की सदस्यता लेते हैं, तो मेमोरी लीक से बचने के लिए viewDidDisappear में सदस्यता रद्द करना सुनिश्चित करें।

SwiftUI Lifecycle

SwiftUI View संरचनाओं के माध्यम से Views के जीवन चक्र का प्रबंधन करता है। कॉलबैक विधियों के बजाय, SwiftUI onAppear और onDisappear मॉडिफ़ायर का उपयोग करता है। वैश्विक ऐप स्थितियों के लिए, App Lifecycle का उपयोग App और Scene प्रोटोकॉल के माध्यम से किया जाता है। SwiftUI स्थिति के आधार पर Views के निर्माण और विनाश को स्वचालित रूप से प्रबंधित करता है, जो विकास को सरल बनाता है लेकिन View की पहचान और जीवनकाल को समझने की आवश्यकता होती है।

swift
struct ContentView: View {
    var body: some View {
        Text("Hello")
            .onAppear {
                print("View появилась")
            }
            .onDisappear {
                print("View исчезла")
            }
    }
}

Android में LifecycleOwner और LifecycleObserver

LifecycleOwner Android Architecture Components का एक इंटरफ़ेस है जो एक ऐसी वस्तु को चिह्नित करता है जिसका जीवन चक्र होता है (Activity, Fragment)। LifecycleObserver एक इंटरफ़ेस है जो किसी वस्तु को LifecycleOwner की घटनाओं की सदस्यता लेने की अनुमति देता है। साथ में वे आधुनिक Android विकास में प्रतिक्रियाशील जीवन चक्र प्रबंधन की नींव बनाते हैं।

onStart/onStop में स्पष्ट रूप से विधियों को कॉल करने के बजाय, DefaultLifecycleObserver (पुराने LifecycleObserver और @OnLifecycleEvent एनोटेशन के प्रतिस्थापन) का उपयोग करने की अनुशंसा की जाती है। यह Google द्वारा ViewModel और अन्य घटकों के लिए प्रचारित दृष्टिकोण है जिन्हें Activity या Fragment के सीधे संदर्भों के बिना जीवन चक्र पर प्रतिक्रिया करने की आवश्यकता होती है।

kotlin
class MyObserver : DefaultLifecycleObserver {
    override fun onStart(owner: LifecycleOwner) {
        // Подписка на обновления
    }
    override fun onStop(owner: LifecycleOwner) {
        // Отписка
    }
}

IT Sectr में, हम सभी Android प्रोजेक्ट्स में LifecycleOwner का उपयोग करते हैं। ViewModel viewModelScope और lifecycleScope के माध्यम से Activity के LifecycleOwner की सदस्यता लेता है, जो Activity नष्ट होने पर कोरूटीन को स्वचालित रूप से रद्द करने की गारंटी देता है। यह मेमोरी लीक को रोकता है और कोड को साफ़ और सुरक्षित बनाता है।

अक्सर पूछे जाने वाले प्रश्न

Android में Activity किन अवस्थाओं से गुज़रती है?

Activity छह अवस्थाओं से गुज़रती है: Created (onCreate), Started (onStart), Resumed (onResume), Paused (onPause), Stopped (onStop), Destroyed (onDestroy).

iOS में ViewController Lifecycle विधियाँ किस क्रम में कॉल होती हैं?

क्रम: loadView → viewDidLoad → viewWillAppear → viewDidAppear → viewWillDisappear → viewDidDisappear। viewDidLoad एक बार कॉल होता है।

Android में LifecycleOwner क्या है?

LifecycleOwner Android Architecture Components का एक घटक है जो Activity या Fragment के जीवन चक्र का स्वामी होता है। LifecycleObserver के माध्यम से घटनाओं की सदस्यता लेने की अनुमति देता है।

iOS में App Lifecycle की क्या अवस्थाएँ हैं?

iOS ऐप पाँच अवस्थाओं से गुज़रता है: Not Running, Inactive, Active, Background, Suspended। UIApplicationDelegate के माध्यम से संक्रमण प्रबंधित किए जाते हैं।

Android पर Saved State क्या है?

Saved State Android का स्क्रीन रोटेशन या प्रक्रिया पुनर्निर्माण पर Activity/Fragment स्थिति को संरक्षित करने का तंत्र है। यह onSaveInstanceState और SavedStateHandle का उपयोग करता है।

सारांश

  • Android में Activity Lifecycle (onCreate → onDestroy) — स्क्रीन स्थिति प्रबंधन की नींव
  • iOS ViewController Lifecycle (viewDidLoad → viewDidDisappear) — UIKit के सही संचालन की कुंजी
  • Fragment Lifecycle onAttach/onDetach और onCreateView/onDestroyView के कारण Activity से अधिक जटिल है
  • LifecycleOwner (Android) मेमोरी लीक के बिना घटनाओं की प्रतिक्रियाशील सदस्यता की अनुमति देता है
  • App Lifecycle पूरे ऐप की स्थिति (Active, Background, Suspended) का प्रबंधन करता है
  • SwiftUI पारंपरिक ViewController विधियों के बजाय onAppear और onDisappear का उपयोग करता है
  • उचित जीवन चक्र प्रबंधन 80% तक सामान्य मोबाइल ऐप क्रैश को रोकता है

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें