onCreate() and Other Callback Methods
This section describes activity callback methods: onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroyed(), and onRestart().
As mentioned in the previous section, the lifecycle of an activity has 4 states and 3 lifetime periods.
If you want to monitor and adding your own code logics to an activity, you can use the following 7 basic callback methods
provided by the android.app.Activity class:
- onCreate() - Called when the activity is first created. This is where you should do all of your normal static set up: create views, bind data to lists, etc. This method also provides you with a Bundle containing the activity's previously frozen state, if there was one.
onCreate() is always followed by onStart().
- onRestart() - Called after your activity has been stopped and prior to it being started again.
onRestart() is always followed by onStart().
- onStart() - Called when the activity is becoming visible to the user.
onStart() is followed by onResume() if the activity comes to the foreground, or onStop() if it becomes hidden.
- onResume() - Called when the activity will start interacting with the user. At this point your activity is at the top of the activity stack, with user input going to it.
onResume() is always followed by onPause().
- onPause() - Called when the system is about to start resuming a previous activity. This is typically used to commit unsaved changes to persistent data, stop animations and other things that may be consuming CPU, etc. Implementations of this method must be very quick because the next activity will not be resumed until this method returns.
onPause() is followed by either onResume() if the activity returns back to the front, or onStop() if it becomes invisible to the user.
- onStop() - Called when the activity is no longer visible to the user, because another activity has been resumed and is covering this one. This may happen either because a new activity is being started, an existing one is being brought in front of this one, or this one is being destroyed.
onStop() is followed by either onRestart() if this activity is coming back to interact with the user, or onDestroy() if this activity is going away.
- onDestroy() - The final call you receive before your activity is destroyed. This can happen either because the activity is finishing (someone called finish() on it, or because the system is temporarily destroying this instance of the activity to save space. You can distinguish between these two scenarios with the isFinishing() method.
The following diagram shows the 4 states, 3 lifetime periods and 7 callback methods are related:
| | (Stopped)
| -------------------- onStart() <-- onRestart() <---
| | | (Paused) ^
| | V |
Entire | ------------- onResume() <---------- |
Lifetime | | | ^ |
| Visible | | | |
| Lifetime | | | |
| | Foreground | (Active) | |
| | Lifetime | | |
| | | | | |
| | | V | |
| | ------------- onPause() | |
| | | (Paused) ---->| |
| | V |
| -------------------- onStop() |
| | (Stopped) ----------->|
See next tutorials to implement callback methods.
Last update: 2015.
Table of Contents
About This Book
Installing JDK 1.8 on Windows System
Installation of Android SDK R24 and Emulator
Installing Apache Ant 1.9 on Windows System
Developing First Android Application - HelloAndroid
Android Application Package (APK) Files
Android Debug Bridge (adb) Tool
Android File Systems
Android 4.0.3 File Systems
AboutAndroid - Application to Retrieve System Information
►android.app.Activity Class and Activity Lifecycle
Introduction of Activity Lifecycle
►onCreate() and Other Callback Methods
ActivityLog - Application to Create Log File
Viewing Activity Log File with "cat" Command in "adb shell"
Implementing Activity Callback Methods
ActivityLog Test - Activity Terminated by User
ActivityLog Test - Activity Stopped and Restarted
ActivityLog Test - Activity Paused and Resumed
View Objects and Layout Resource Files
Using "adb logcat" Command for Debugging
Build Process and Package File Content
Building Your Own Web Browser
Android Command Line Shell
Samsung Galaxy Tab 3 Mini Tablet
USB Debugging Applications on Samsung Tablet
Android Tablet - LG-V905R
USB Debugging Applications on LG-V905R Tablet
Android Phone - LG-P925g
USB Debugging Applications on LG-P925g Phone
PDF Printing Version