创建两个Activity,在两个Activity中各添加一个按钮,实现Activity之间的跳转,在LogCa中新建一个关于System的Filter logcat messages,然后观察,当启动一个Activity时,它的生命周期是怎么样变化的。
mainActivity.java
package cn.bzu.l2.l2_activitylifecycle;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
public class MainActivity extends Activity {
/**
* Activity第1次创建时调用
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
System.out.println("FirstActivity->onCreate");
}
public void enter2(View view){
Intent intent=new Intent();
intent.setClass(MainActivity.this, SecondActivity.class);
startActivity(intent);
}
/**
* 1.在代码中明确调用了finish方法
* 2.Android系统资源不够用时,会优先销毁第1个不可见的Activity
*/
@Override
protected void onDestroy() {
super.onDestroy();
System.out.println("FirstActivity->onDestroy");
}
/**
* 当启动另外一个Activity时,就会调用第1个Activity的onPause方法
*/
@Override
protected void onPause() {
super.onPause();
System.out.println("FirstActivity->onPause");
}
@Override
protected void onRestart() {
super.onRestart();
System.out.println("FirstActivity->onRestart");
}
/**
* Activity获得用户焦点时,即与用户交互时
*/
@Override
protected void onResume() {
super.onResume();
System.out.println("FirstActivity->onResume");
}
/**
* Activity能被看到时
*/
@Override
protected void onStart() {
super.onStart();
System.out.println("FirstActivity->onStart");
}
/**
* 完全被新的Activity遮挡住时调用
*/
@Override
protected void onStop() {
super.onStop();
System.out.println("FirstActivity->onStop");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
ScendActivity.java
package cn.bzu.l2.l2_activitylifecycle;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
public class SecondActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
System.out.println("SecondActivity->onCreate");
}
public void enter1(View view){
Intent intent=new Intent();
intent.setClass(SecondActivity.this, MainActivity.class);
startActivity(intent);
}
@Override
protected void onDestroy() {
super.onDestroy();
System.out.println("SecondActivity->onDestroy");
}
@Override
protected void onPause() {
super.onPause();
System.out.println("SecondActivity->onPause");
}
@Override
protected void onRestart() {
super.onRestart();
System.out.println("SecondActivity->onRestart");
}
@Override
protected void onResume() {
super.onResume();
System.out.println("SecondActivity->onResume");
}
@Override
protected void onStart() {
super.onStart();
System.out.println("SecondActivity->onStart");
}
@Override
protected void onStop() {
super.onStop();
System.out.println("SecondActivity->onStop");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.second, menu);
return true;
}
}