先上一张google的生命周期图
方法解释
onCreate():表示Activity正在被创建
onReStart():表示正在重新启动
onStart():表示正在被启动,这时已经可见,但是还在后台
onResume():表示已经可见了,这时已经在前台
onPause():表示正在停止,正常情况下onStop()紧接着被调用,这里不要处理太耗时的操作.只有onPause()执行完毕,新Activity的 onResume()才会被调用
onStop():表示Activity即将停止,可以做稍微重量级操作,但也不能太耗时
onDestory():表示Activity即将被销毁,可以做资源回收和释放等
具体情况
##正常情况:
1.第一次启动:onCreate()->onStart()->onResume()
2.打开新Activity或回到桌面:onPause()->onStop()
(特例:新Activity采用了透明主题不会走onStop())
3.回到原有的Activity:onRestart()->onstart()->onResume()
##异常情况:
1.资源相关系统配置发生改变导致Activity被杀死并重新创建(例如:旋转屏幕)
生命周期如图所示
如果想Activity不重建可以在AndroidMenifest.xml
中指定configChanges
android:configChanges="orientation|screenSize"
2.资源内存不足导致低优先级的Activity被杀死
参考:Android开发艺术探索