学了很长时间Android,先回过头来整理一下。
package com.lifecycle.demo;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
public class FirstActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.d(AppConstant.LOG, "FirstActivity-->onCreate()");
Button nextBtn = (Button) findViewById(R.id.nextBtn);
nextBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
FirstActivity.this.startActivity(intent);
}
});
}
@Override
protected void onStart() {
super.onStart();
Log.d(AppConstant.LOG, "FirstActivity-->onStart()");
}
@Override
protected void onRestart() {
super.onRestart();
Log.d(AppConstant.LOG, "FirstActivity-->onRestart()");
}
@Override
protected void onResume() {
super.onResume();
Log.d(AppConstant.LOG, "FirstActivity-->onResume()");
}
@Override
protected void onPause() {
super.onPause();
Log.d(AppConstant.LOG, "FirstActivity-->onPause()");
}
@Override
protected void onStop() {
super.onStop();
Log.d(AppConstant.LOG, "FirstActivity-->onStop()");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d(AppConstant.LOG, "FirstActivity-->onDestroy()");
}
}
package com.lifecycle.demo;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
public class SecondActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.d(AppConstant.LOG, "SecondActivity-->onCreate()");
Button nextBtn = (Button) findViewById(R.id.nextBtn);
nextBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(SecondActivity.this, ThirdActivity.class);
SecondActivity.this.startActivity(intent);
}
});
}
@Override
protected void onStart() {
super.onStart();
Log.d(AppConstant.LOG, "SecondActivity-->onStart()");
}
@Override
protected void onRestart() {
super.onRestart();
Log.d(AppConstant.LOG, "SecondActivity-->onRestart()");
}
@Override
protected void onResume() {
super.onResume();
Log.d(AppConstant.LOG, "SecondActivity-->onResume()");
}
@Override
protected void onPause() {
super.onPause();
Log.d(AppConstant.LOG, "SecondActivity-->onPause()");
}
@Override
protected void onStop() {
super.onStop();
Log.d(AppConstant.LOG, "SecondActivity-->onStop()");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d(AppConstant.LOG, "SecondActivity-->onDestroy()");
}
}
package com.lifecycle.demo;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class ThirdActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.d(AppConstant.LOG, "ThirdActivity-->onCreate()");
}
@Override
protected void onStart() {
super.onStart();
Log.d(AppConstant.LOG, "ThirdActivity-->onStart()");
}
@Override
protected void onRestart() {
super.onRestart();
Log.d(AppConstant.LOG, "ThirdActivity-->onRestart()");
}
@Override
protected void onResume() {
super.onResume();
Log.d(AppConstant.LOG, "ThirdActivity-->onResume()");
}
@Override
protected void onPause() {
super.onPause();
Log.d(AppConstant.LOG, "ThirdActivity-->onPause()");
}
@Override
protected void onStop() {
super.onStop();
Log.d(AppConstant.LOG, "ThirdActivity-->onStop()");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d(AppConstant.LOG, "ThirdActivity-->onDestroy()");
}
}
可以看到,有3个Activity,在默认情况下,这3个Activity属于同一个Task,进栈和出栈所执行的生命周期函数如上图。