Android Activity Lifecycle
Android Activity Lifecycle
Android Activity Lifecycle is controlled by 7 methods of android.app.Activity class. The android Activity is the subclass of ContextThemeWrapper class.
An activity is the single screen in android. It is like window or frame of Java.
By the help of activity, you can place all your UI components or widgets in a single screen.
The 7 lifecycle method of Activity describes how activity will behave at different states.
Android Activity Lifecycle methods
Let’s see the 7 lifecycle methods of android activity.
Method | Description |
---|---|
onCreate | called when activity is first created. |
onStart | called when activity is becoming visible to the user. |
onResume | called when activity will start interacting with the user. |
onPause | called when activity is not visible to the user. |
onStop | called when activity is no longer visible to the user. |
onRestart | called after your activity is stopped, prior to start. |
onDestroy | called before the activity is destroyed. |
Android Activity Lifecycle Example
It provides the details about the invocation of life cycle methods of activity. In this example, we are displaying the content on the logcat.
- package com.example.activitylifecycle;
- import android.os.Bundle;
- import android.app.Activity;
- import android.util.Log;
- import android.view.Menu;
- public class MainActivity extends Activity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- Log.d(“lifecycle”,“onCreate invoked”);
- }
- @Override
- protected void onStart() {
- super.onStart();
- Log.d(“lifecycle”,“onStart invoked”);
- }
- @Override
- protected void onResume() {
- super.onResume();
- Log.d(“lifecycle”,“onResume invoked”);
- }
- @Override
- protected void onPause() {
- super.onPause();
- Log.d(“lifecycle”,“onPause invoked”);
- }
- @Override
- protected void onStop() {
- super.onStop();
- Log.d(“lifecycle”,“onStop invoked”);
- }
- @Override
- protected void onRestart() {
- super.onRestart();
- Log.d(“lifecycle”,“onRestart invoked”);
- }
- @Override
- protected void onDestroy() {
- super.onDestroy();
- Log.d(“lifecycle”,“onDestroy invoked”);
- }
- }
Output:
You will not see any output on the emulator or device. You need to open logcat.
Now see on the logcat: onCreate, onStart and onResume methods are invoked.
Now click on the HOME Button. You will see onPause method is invoked.
After a while, you will see onStop method is invoked.
Now see on the emulator. It is on the home. Now click on the center button to launch the app again.
Now click on the lifecycleactivity icon.
Now see on the logcat: onRestart, onStart and onResume methods are invoked.
If you see the emulator, application is started again.
Now click on the back button. Now you will see onPause methods is invoked.
After a while, you will see onStop and onDestroy methods are invoked.
The onCreate() and onDestroy() methods are called only once throughout the activity lifecycle.
Source : https://www.javatpoint.com/android-life-cycle-of-activity