活动的生命期

首先活动有7个回调方法

onCreate();//活动第一次创建的时候被调用,会初始化

onStart();//把活动从不可见变为可见

onResume();//这个方法在活动准备好和用户交互的时候,这个活动一定位于栈顶,即是运行状态,因为android里面是由任务来管理活动的,每个任务就是返回栈,每次活动就是压栈

onPause();//准备去启动另一个活动的时候调用,就是为了释放掉某些资源,在这个阶段只是释放资源

onStop();//在活动完全不可见的时候调用,覆盖时候调用

onDestroy();//在被销毁之前调用,调用后该活动被销毁

onRestart();//在活动被重新启动的时候调用,就是相当于返回上一个界面的时候,会调用

如果创建两个三个活动,其中一个主活动,两个副活动,那么在第一次调用主活动的时候,就会先后调用Create()

然后Start() 然后调用Resume(),调用Resume后就是说明当前的著活动已经是运行状态了,因为Resume()方法就是说明此时这个活动是在栈顶的,从安卓里面来说,位于栈顶的活动一定是在运行状态的。

如果此时切换到了其中一个副活动,那么主活动就会进入Pause()方法,如果副活动会覆盖主活动的画面的话,那么主活动还会调用Stop()方法,然后当从副活动返回主活动的时候,那么主活动就会调用Restart()方法,因为主活动被重新启动了,所以就会调用。那么此时调用了副活动2,如果副活动2是对话框来的话,那么也就是说明当前的主活动还有一部分画面,那么就是说我现在的手机屏幕上面就是显示了对话框还有主活动的画面,但是我只是对话框置顶了,并没有完全覆盖了主活动,所以此时主活动会调用Pause()方法,但是因为没有完全覆盖掉主活动,所以不会调用Stop方法,如果此时在返回上一个界面,就只会调用onResume,因为调用Restart的方法是要在活动不可见的时候,也就是进入了Stop方法里面,因为对话框并没有完全覆盖掉主活动,所以返回主活动的时候,只会调用onResume方法,然后当停止的时候,就调用了Pause()然后调用stop()然后Destroy

猜你喜欢

转载自blog.csdn.net/qq_39682139/article/details/83549365