Activity生命周期函数
//创建Activity
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
//Activity快要变成可见的
@Override
protected void onStart() {
super.onStart();
}
//Activity变成可见的,处于运行状态
@Override
protected void onResume() {
super.onResume();
}
//其他Activity获得用户焦点,(Activity快要暂停了)
@Override
protected void onPause() {
super.onPause();
}
//Activity不再可见,处于停止状态
@Override
protected void onStop() {
super.onStop();
}
//Activity快要被销毁了
@Override
protected void onDestroy() {
super.onDestroy();
}
}
图解生命周期:
entire lifetime:全部的生命周期在onCreate()和onDestroyed之间
visible lifetime:可见生命周期在onStart()和onStop()之间
foreground lifetime:前台生命周期在onResume()和onPause()之间
1.运行应用,MainActivity运行。
可以看出一个Activity运行调用的回调方法是:onCreate()->onStart()->onResume()
2.由MainActivity跳转到SecondActivity(SecondActivity是Dialog):
调用:onPause();
如果SecondActivity不是Dialog:
调用:onStop();
3.Activity处于运行状态时,点击返回按钮。
点击返回按钮,Activity由运行状态变为死亡状态,依次调用它的回调方法:onPause()->onStop()->onDestroy()
4.Activity处于运行状态,点击主页按钮,返回桌面。
Activity由运行状态变为停止状态,依次调用它的回调方法:onPause()->onStop()
5.Activity处于停止状态,即由桌面返回到Activity。
停止->运行,依次调用回调方法:onRestart()->onStart()->onResume()
6.Activity处于运行状态,旋转屏幕:
可以看出,旋转屏幕是一个销毁Activity然后重新创建Activity的过程。
运行->暂停->停止->死亡->运行
依次调用回调方法:onPause()->onStop->onDestroy()->onCreate()->onStart()->onResume()
7.Activity处于运行状态,手机此时锁屏。
手机锁屏,此时由于Activity不可见,会进入停止状态。
依次调用回调方法:onPause()->onStop()
8.当应用正在运行时,手机锁屏,然后解锁回到应用界面。
可以看出应用从停止状态恢复到运行状态。
依次调用回调方法:onRestart()->onStart()->onResume()