Skip to content

Instantly share code, notes, and snippets.

@jesselima
Created June 19, 2018 13:20
Show Gist options
  • Select an option

  • Save jesselima/65e56a8cf7bd22398eaebcbc9b0f2c30 to your computer and use it in GitHub Desktop.

Select an option

Save jesselima/65e56a8cf7bd22398eaebcbc9b0f2c30 to your computer and use it in GitHub Desktop.
Learn about Activity lifecycle. Play with the app watching logcat to see the logs. Comments from offcicial documentation (https://developer.android.com/reference/android/app/Activity).
package com.udacity.myapplicationtest;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
/**
* Official documentation:
* https://developer.android.com/reference/android/app/Activity
*/
public class MyLifecycleActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/* TODO: See Logcat output to see when onCreate() is called.
* 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. Always followed by onStart().
*
* NEXT: onStart()
*
*/
Log.d("lifecycle",">\n>>>>>>>>>>>>>>>>>>>>>\n>>>>>>>>>>>>>>>>>>>>> onCreate invoked\n>>>>>>>>>>>>>>>>>>>>>");
}
/**
* Called when the activity is becoming visible to the user.
* Followed by onResume() if the activity comes to the foreground, or onStop() if it becomes hidden.
*
* NEXT: onResume() or onStop()
*
*/
@Override
protected void onStart() {
super.onStart();
Log.d("lifecycle",">\n>>>>>>>>>>>>>>>>>>>>>\n>>>>>>>>>>>>>>>>>>>>> onStart invoked\n>>>>>>>>>>>>>>>>>>>>>");
}
/** TODO: See Logcat output to see when onResume() is called.
* 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. Always followed by onPause().
*
* NEXT: onPause()
*
*/
@Override
protected void onResume() {
super.onResume();
Log.d("lifecycle",">\n>>>>>>>>>>>>>>>>>>>>>\n>>>>>>>>>>>>>>>>>>>>> onResume invoked\n>>>>>>>>>>>>>>>>>>>>>");
}
/** TODO: See Logcat output to see when onStop() is called.
* 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.
* Followed by either onRestart() if this activity is coming back to interact with the user, or onDestroy() if this activity is going away.
*
* NEXT: onRestart() or onDestroy()
*
*/
@Override
protected void onStop() {
super.onStop();
Log.d("lifecycle",">\n>>>>>>>>>>>>>>>>>>>>>\n>>>>>>>>>>>>>>>>>>>>> onStop invoked\n>>>>>>>>>>>>>>>>>>>>>");
}
/** TODO: See Logcat output to see when onRestart() is called.
* Called after your activity has been stopped, prior to it being started again. Always followed by onStart()
*
* NEXT: onStart()
*
*/
@Override
protected void onRestart() {
super.onRestart();
Log.d("lifecycle",">\n>>>>>>>>>>>>>>>>>>>>>\n>>>>>>>>>>>>>>>>>>>>> onRestart invoked\n>>>>>>>>>>>>>>>>>>>>>");
}
/** TODO: See Logcat output to see when onPause() is called.
* 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.
* Followed by either onResume() if the activity returns back to the front, or onStop() if it becomes invisible to the user.
*
* NEXT: onResume() or onStop()
*
*/
@Override
protected void onPause() {
super.onPause();
Log.d("lifecycle",">\n>>>>>>>>>>>>>>>>>>>>>\n>>>>>>>>>>>>>>>>>>>>> onPause invoked\n>>>>>>>>>>>>>>>>>>>>>");
}
/** TODO: See Logcat output to see when onDestroy() is called.
* 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.
*
* NEXT: NOTHING
*
*/
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("lifecycle",">\n>>>>>>>>>>>>>>>>>>>>>\n>>>>>>>>>>>>>>>>>>>>> onDestroy invoked\n>>>>>>>>>>>>>>>>>>>>>");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment