首先经典图
以下说说自己的理解
如果从顺序上来说的话,Activity的生命周期为onCreate()、onStart()、onResume()、onPause()、onStop()、onDestroy()。
接下来分析两个Activity交互的时候生命周期是怎么样的
当A Activity调用onResume()方法进入一个”运行“的状态的时候,有一个B Activity进入了,那么此时A Activity就会调用onPause()方法,然后A Activity进入一个“暂停”状态,如果B Activity没有完全把A Activity覆盖的话,那A Activity将继续处于“暂停”的状态,当B Activity消失后,A Activity将重新调用onResume()方法然后进入“运行”的状态;那如果是B Activity将A Activity完全覆盖了,A Activity在调用了onResume()方法后将继续调用onStop()方法,然后A Activity机会进入“停止”状态,如果此时B Activity消失了,那A Activity将调用onReStart()方法,然后调用onStart()方法,继而调用onResume()方法重新进入“运行”状态。
当一个Activity处于“暂停”或是“停止”的状态的时候,另外的应用程序需要内存,而且内存不够用的话,那么此时Activity就会被回收。
当Activity被锁屏的时候,系统会调用onPause()方法,进入“暂停”状态。
当按Home键回到主屏的时候,系统会调用onPause()方法,然后调用onStop()方法,进入”停止”状态。
当用户退出Activity时,系统会调用onPause()方法 ,然后调用onStop()方法,最后调用onDestroy( )方法,结束当前的Activity。