一、多个Activity交互的生命周期:
A Activity打开B Activity的时候:
A Activity B Activity
onCreate
onStart
onResume
onPause
onCreate
onStart
onResume
onstop
B 点击Back键的时候:
onPause
onRestart
onStart
onResume
onStop
onDestroy
二、Activity的横竖屏切换
在打开A Activity会执行onCreate、onStart、onResume切换横屏后会执行onPause、onStop、
onDestroy、onCreate、onStart、onResume,这样如果有数据的话,数据就会丢失。使用onSaveInstanceState(Bundle outState)方法就会保存一些状态信息。如:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("name","nate");
}
然后在onCreate(Bundle savedInstanceState)方法中获取,如:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(savedInstanceState != null){
//textView为设置的TextView控件
TextView textView = (TextView)findViewById(R.id.textView);
textView.setText(savedInstanceState.getString("name"));
}
}
这样保存数据后,重新打开A Activity会执行onCreate、onStart、onResume切换横屏后会执行onPause、onSaveInstanceState、onStop、 onDestroy、onCreate、onStart、onResume。