BCA / B.Tech 9 min read

Understanding Activities and their Lifecycle

Activities और उनके Lifecycle को समझना

Activity क्या है? (What is an Activity?)

Android में, एक Activity application का वह हिस्सा है जिसे user देखता है और जिसके साथ interact करता है। सरल शब्दों में, यह app की एक single screen होती है।

जब भी आप कोई Android app चलाते हैं, तो आप असल में उसकी different-different activities के साथ interact कर रहे होते हैं।

  • उदाहरण:
  • एक WhatsApp chat screen एक activity है।
  • Instagram की feed screen एक activity है।
  • Phone की settings screen एक activity है।

हर activity का अपना एक User Interface (UI) होता है, जो XML layout file में define किया जाता है, और उसका behavior (वह कैसे काम करेगी) Java या Kotlin class में लिखा जाता है।


Activity Lifecycle क्या है? (What is the Activity Lifecycle?)

Activity Lifecycle उन सभी stages (अवस्थाओं) का क्रम है जिनसे एक activity अपने शुरू होने से लेकर खत्म होने तक गुजरती है। Android OS इन stages को manage करता है, लेकिन हमें यह समझना ज़रूरी है ताकि हम सही समय पर सही action ले सकें।

इसे एक इंसान के जीवन की तरह समझें: जन्म लेना (created), active होना (resumed), और अंत में खत्म हो जाना (destroyed)।


Activity Lifecycle के मुख्य Methods

Android हमें कुछ special methods ( जिन्हें callback methods कहा जाता है) देता है, जो activity के state बदलने पर automatically call होते हैं।

  1. onCreate()
    • यह method तब call होता है जब activity पहली बार बनाई जाती है।
    • यह सबसे महत्वपूर्ण method है। यहीं पर आप अपना UI set करते हैं (जैसे `setContentView()`), buttons को initialize करते हैं, और one-time setup करते हैं।
  2. onStart()
    • यह तब call होता है जब activity user को दिखाई देने वाली होती है।
  3. onResume()
    • यह तब call होता है जब activity foreground में आ जाती है और user उसके साथ interact कर सकता है। Activity इस state में सबसे ज़्यादा देर तक रहती है।
  4. onPause()
    • यह तब call होता है जब activity focus से हटने वाली होती है (जैसे कोई popup आ जाए या user home button दबा दे)।
    • इस method में, आपको कोई भी data save कर लेना चाहिए जो user के app से बाहर जाने पर भी रहना चाहिए।
  5. onStop()
    • यह तब call होता है जब activity user को पूरी तरह से दिखाई देना बंद हो जाती है।
  6. onRestart()
    • यह method तब call होता है जब activity `onStop()` state से वापस user को दिखाई देने वाली होती है।
  7. onDestroy()
    • यह lifecycle का अंतिम method है। यह तब call होता है जब activity को memory से हमेशा के लिए हटाया जा रहा होता है।
    • यहाँ पर सभी resources को release (साफ) कर देना चाहिए ताकि memory leak न हो।

Lifecycle का एक Practical Example

मान लीजिए आपने एक music player app खोली:

  1. App खोली: `onCreate()` -> `onStart()` -> `onResume()` call होते हैं। App अब चल रही है।
  2. आपके दोस्त का फ़ोन आया: आपकी music app background में चली जाती है। `onPause()` -> `onStop()` call होते हैं।
  3. आपने फ़ोन काट दिया और app पर वापस आए: `onRestart()` -> `onStart()` -> `onResume()` call होते हैं। App वहीं से शुरू हो जाती है जहाँ छोड़ी थी।
  4. आपने Back button दबाकर app बंद कर दी: `onPause()` -> `onStop()` -> `onDestroy()` call होते हैं। Activity memory से हटा दी जाती है।