Activity Lifecycle With Example In Android – Tutorial, Code And Importance
Activity Lifecycle: Activity is one of the building blocks of Android OS. In simple words, Activity is a screen that user interaction with. Every Activity in Android has lifecycle like created, started, resumed, paused, stopped or destroyed. These different states are known as Activity Lifecycle. In other words, we can say Activity is a class pre-written in Java Programming.
Activity Lifecycle Table:
Short description of Activity Lifecycle example:
onCreate() – Called when the activity is first created
onStart() – Called just after it’s creation or by restart method after onStop(). Here Activity starts becoming visible to the user.
onResume() – Called when Activity is visible to user and user can interact with it
onPause() – Called when Activity content is not visible because user resume previous activity
onStop() – Called when activity is not visible to the user because some other activity takes place of it
onRestart() – Called when the user comes on screen or resume the activity which was stopped
onDestroy – Called when Activity is not in a background.
Different Types of Activity Lifecycle States:
Activity has different states or it’s known as the Activity lifecycle. All lifecycle methods aren’t required to override but it’s quite important to understand them. Lifecycles methods can be overridden according to requirements.
LIST OF ACTIVITY LIFECYCLE METHODS OR STATES:
Activity Created: onCreate(Bundle savedInstanceState):
onCreate() method is called when activity gets memory in the OS. To use create state we need to override onCreate(Bundle savedInstanceState) method. Now there will be a question in mind what is Bundle here, so Bundle is a data repository object that can store any kind of primitive data and this object will be null until some data isn’t saved in that.
When an Activity first call or launched then onCreate(Bundle savedInstanceState) method is responsible to create the activity.
Whenever orientation(i.e. from horizontal to vertical or vertical to horizontal) of activity gets changed or when an Activity gets forcefully terminated by any Operating System then savedInstanceState i.e. an object of Bundle Class will save the state of an Activity.
It is the best place to put initialization code.
Learn More About onCreate(Bundle savedInstanceState) With Example
Activity Started: onStart():
onStart() method is called just after it’s creation. In other case, Activity can also be started by calling restart method i.e after activity stop. So this means onStart() gets called by Android OS when user switch between applications. For example, if a user was using Application A and then a notification comes and the user clicked on notification and moved to Application B, in this case, Application A will be paused. And again if a user again clicks on app icon of Application A then Application A which was stopped will again get started.
Learn More About onStart() With Example
Activity resumed is that situation when it is actually visible to a user means the data displayed in the activity is visible to the user. In lifecycle, it always gets called after activity start and in most use case after activity paused (onPause).
Activity Paused: onPause():
Activity is called paused when it’s content is not visible to a user, in most case onPause() method called by Android OS when user press Home button (Center Button on Device) to make hide.
The activity also gets paused before stop called in case user press the back navigation button. The activity will go in a paused state for these reasons also if a notification or some other dialog is overlaying any part (top or bottom) of the activity (screen). Similarly, if the other screen or dialog is transparent then a user can see the screen but cannot interact with it. For example, if a call or notification comes in, the user will get the opportunity to take the call or ignore it.
Learn More About onPause() With Example
Activity Stopped: onStop():
Activity is called stopped when it’s not visible to the user. Any activity gets stopped in case some other activity takes place of it. For example, if a user was on screen 1 and click on some button and moves to screen 2. In this case, Activity displaying content for screen 1 will be stopped.
Every activity gets stopped before destroying in case of when the user presses back navigation button. So Activity will be in the stopped state when hidden or replaced by other activities that have been launched or switched by the user. In this case, application will not present anything useful to the user directly as it’s going to stop.
Learn More About onStop() With Example
Activity Restarted: onRestart():
Activity is called in restart state after stop state. So activity’s onRestart() function gets called when the user comes on screen or resume the activity which was stopped. In other words, when the Operating System starts the activity for the first time onRestart() never gets called. It gets called only in the case when activity is resumed after stopped state.
Activity Destroyed: onDestroy():
Any activity is known as in destroyed state when it’s not in the background. There can different cases at what time activity get destroyed.
First is if the user pressed the back navigation button then activity will be destroyed after completing the lifecycle of pause and stop.
In case if user press the home button and app moves to the background. The user is not using it any more and it’s being shown in the recent apps list. So in this case, if system required resources need to use somewhere else then OS can destroy the Activity.
After the Activity is destroyed if the user again clicks the app icon, in this case, activity will be recreated and follow the same lifecycle again. Another use case is with Splash Screens if there is a call to finish() method from onCreate() of an activity then OS can directly call onDestroy() with calling onPause() and onStop().