做Android大约两年了,但是身为女程序媛,感觉自己还是写的东西少。
从0开始学Android这个系列慢慢更新吧。
今天要讲的就是我们都熟悉的生命周期。
在网上我们一搜就是有很多的生命周期图,下面是我画的一幅易懂的基础生命周期图。
生命周期和启动模式有关吗?当然是有相应的关系呢。
我们现在介绍一下标准模式下的Activity的生命周期在不同情况下所走的流程是怎样的吧。我建议还是你手敲一遍代码根据log日志,这样印象会更深一些。
Activity启动模式:标准模式standard下的生命周期
Activity启动运行走的是onCreate()->onStart()->onResume()
当手机锁屏的时候,Activity的生命周期是onPause ()->onStop()
当手机解锁的时候, Activity的生命周期是onRestart()->onStart()->onResume()
当手机切换到第二个界面的时候,Activity的生命周期是
第一个Activity的生命周期是onPause()->onStop()
第二个Activity的生命周期是onCreate()->onStart()->onResume()
当手机返回第一个界面的时候,Activity的生命周期是
第二个Activity的生命周期是onPause()->onStop()->onDestroy()
第一个Activity的生命周期是onRestart()->onStart()->onResume()
当程序退居后台的时候Activity的生命周期是onPause()->onStop()
当程序从后台返回到前台的时候Activity的生命周期是onRestart()->onStart()->onResume()
当屏幕旋转的时候,Activity的生命周期是
onPause()->onStop()->onDestroy()->onCreate()->onStart()->onResume()
Activity退居后台,且系统内存不足,系统会杀死这个后台状态的Activity(此时这个Activity引用仍然处在任务栈中,只是这个时候引用指向的对象已经为null),若再次回到这个Activity,则会走onCreate()–>onStart()—>onResume()(将重新走一次Activity的初始化生命周期)