परिचय
एक्टिविटी जीवनचक्र में `onCreate()` और `onStart()` दो महत्वपूर्ण कॉलबैक हैं, लेकिन उनके उद्देश्य और समय अलग-अलग हैं।
मुख्य अंतर
| पहलू | onCreate() | onStart() |
|---|---|---|
| कब कॉल होता है | एक्टिविटी पहली बार बनने पर | एक्टिविटी उपयोगकर्ता को दिखाई देने वाली होती है |
| आवृत्ति | जीवनचक्र में एक बार | हर बार एक्टिविटी फोरग्राउंड में आने पर |
| सामान्य कार्य | UI सेटअप (setContentView), डेटा प्रारंभिककरण, व्यू बाइंडिंग | एनिमेशन शुरू करना, सेंसर पंजीकृत करना, UI अपडेट |
| बंडल पैरामीटर | Bundle savedInstanceState प्राप्त करता है | कोई पैरामीटर नहीं |
उदाहरण
activity_main.xml
<TextView android:text="Have a very nice day!" android:textSize="35dp" android:textStyle="bold" android:textColor="@color/colorAccent" android:padding="20sp" android:layout_gravity="center_vertical" ... />
MainActivity.java
public class MainActivity extends AppCompatActivity {
public static final String TAG = "Have a nice day!";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i(TAG, "onCreate");
}
@Override
protected void onStart() {
super.onStart();
Log.i(TAG, "onStart");
}
}लॉगकैट आउटपुट (ऐप लॉन्च पर)
I/Have a nice day!: onCreate I/Have a nice day!: onStart
जब onStart() फिर से कॉल होता है
- उपयोगकर्ता होम बटन दबाता है → `onStop()`
- उपयोगकर्ता ऐप पर लौटता है → `onRestart()` → `onStart()` → `onResume()`
- `onCreate()` फिर से नहीं होता (जब तक प्रक्रिया मार न दी गई हो)।