相信做Android开发的小伙伴们,对Activity的启动模式都不会太陌生。今天我们就来简单聊聊这四种启动模式以及这四种模式分别适用于那些场景。
standard( 标准模式)
我们创建的Activity都会在AndroidManifest.xm清单文件中添加注册,如果我们不设置LaunchMode这个属性的话,默认这个Activity的启动模式就是standard模式。这种模式下,每次启动Activity都会创建一个新的实例。因此,这种启动模式下会存在大量相同的实例。当然,这种模式下也允许存在相同的实例。
举个栗子:创建一个启动模式为standard的Activity A,点击A跳转到A页面,点击两次 A->A->A,这样栈内就会出现三个相同的A实例,这时候点击返回键的时候你就会发现 ,我们需要点击三次返回键才能退出页面。
SingleTop(栈顶复用模式) 顾名思义,设置Activity的启动模式为SingaleTop时,当这个Activity位于栈顶时,再次启动这个Activty时不会创建一个新的Activty实例,会调用Activty的onNewIntent()方法;当这个Activty不在栈顶时,再启动Activity时,还是会创建一个新的Activity实例。
举个栗子:创建两个Activity A和B,将B的启动模式设置成SingleTop。点击A跳转到B,点击B跳转到B , A->B->B 这时候点击