activity在singleTop模式下的生命周期

设计三个activity:act1,act2,act3;

activity在singleTop模式下的生命周期_第1张图片

我们在配置文件中将三个act都可以设置为singleTop,通过相互或自身跳转来熟悉这种模式的特点。

首先我们的执行顺序为:act1->act2->act3->act1->act2->act3

可以发现相邻不同的act之间的跳转和standard模式一样:

activity在singleTop模式下的生命周期_第2张图片

接下来我们回退到栈内最后一个act1也就是回退5次发现还是一样:

activity在singleTop模式下的生命周期_第3张图片

那么我们再做这样的一次跳转相同一act:act1->act1-act1发现了它的特点:

activity在singleTop模式下的生命周期_第4张图片

跳转相同的页面,它调用了onNewIntent而不再是onCreate->onStart->onResume->前onStop(当然在内存不够的时候销毁了之前相同的act依然会走onCreate方法)。

返回时由于在栈顶永远都是这个act1所以是同一个实例所以回退只会一次:


总结:当前singleTop模式的act正处于栈顶时,跳转该act会调用onNewintent方法且不会重新创建该act实例,只会重新调用该实例,生命周期为:onPause->onNewIntent->onResume

你可能感兴趣的:(生命周期,android)