Activity生命周期
1.图解Activity生命周期:
2.七个方法的含义
- 一、 onCreate :当活动第一次启动的时候,触发该方法,可以在此时完成活动的初始化工作。
- 二、 onStart :该方法的触发表示所属活动将被展现给用户,可视化。
- 三、 onResume :当一个活动和用户发生交互的时候,触发该方法。
- 四、 onPause :当一个正在前台运行的活动因为其他的活动需要前台运行而转入后台运行的时候,触发该方法。
- 五、 onStop :当一个活动不再需要展示给用户的时候,触发该方法。
- 六、onRestart :当处于停止状态的活动需要再次展现给用户的时候,触发该方法。
- 七、 onDestroy :当活动销毁的时候,触发该方法。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
System.out.println("-----------onCreate");
/*创建 初始化控件*/
}
@Override
protected void onStart() {
super.onStart();
System.out.println("-----------onStart");
/*这些控件被看到*/
}
@Override
protected void onResume() {
super.onResume();
System.out.println("-----------onResume");
/*可以交互 可以点了*/
}
@Override
protected void onPause() {
super.onPause();
System.out.println("-----------onPause");
/*不能交互 */
}
@Override
protected void onStop() {
super.onStop();
System.out.println("-----------onStop");
/*不能看见 控件不可见*/
}
@Override
protected void onDestroy() {
super.onDestroy();
System.out.println("-----------onDestroy");
/*销毁控件*/
}
@Override
protected void onRestart() {
super.onRestart();
System.out.println("-----------onRestart");
/*重新运行*/
}
3.当执行某些操作后的Activity的生命周期:
1.当你点击back键的时候
生命周期先onPause>onStop>onDestroy
2.当你点击Home键的时候
生命周期先onPause>onStop,页面完全消失,跑到后台任务中然后onRestart>onStart>onResume页面重新加载,可以人机交互。
3.当有电话进来的时候,生命周期先onPause>onStop,接打电话开始
onRestart>onStart>onResume电话挂断,回到应用
4.当点击关闭屏幕按钮的时候,生命周期先onPause>onStop屏幕关闭
onRestart>onStart>onResume屏幕开启了
5.当从页面A跳转至页面B
A:onPause
B:onCreate>onStart>onResume
A:onStop
当从页面B点击返回按钮是,回到页面A
B:onPause
A:onRestart>onStart>onResume
B:onStop>onDestroy