安卓活动可重叠,每启动一个新的活动,都会覆盖原来的活动。活动保存在返回栈中,启动一个新活动,它会被保存在返回栈的栈顶位置,每当按返回键或者用finish销毁一个活动,处于栈顶的活动就会出栈,前一个入栈的活动重新回到栈顶位置。
一、活动状态
1、运行状态:在前端运行,可被操作的状态;
2、暂停状态:活动不在栈顶位置,但仍然可见的状态;
3、停止状态:活动不在栈顶,完全不可见的时候,就处于停止状态;
4、销毁状态:活动从返回栈中移除。
二、活动生命周期中的方法与调用时间
1、onCreate();活动第一次被创建的时间调用。一般在该活动中做初始化的操作,比如加载布局,绑定事件。
2、onStart();活动由不可见转变为可见的时候调用。
3、onResume();活动准备好和用户交互的时候调用,此活动一定位于返回栈的栈顶,并处于运行状态。
4、onPause();暂停活动前调用,通常会在这个地方将一些消耗CPU的资源释放掉,以及保存一些数据,但是操作要快,不然会影响到栈顶活动的响应。
5、onStop();停止活动前调用。
6、onDestroy();活动被销毁之前调用。
7、onRestart();活动由停止状态变为运行状态之前被调用。
完整生存周期:onCreate()与onDestroy()之间
可见生存周期:onStart()/onRestart()与onStop()之间
交互周期/前台周期:onResume()与onPause()之间
参考《第一行代码》活动的生命周期