activity在singleTop模式下的生命周期

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


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

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

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


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


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


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

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


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

猜你喜欢

转载自blog.csdn.net/qq_33505655/article/details/80242327