Activity的四种启动方式

来源:互联网 发布:2016青少年犯罪率数据 编辑:程序博客网 时间:2024/05/16 09:12

standard

默认模式:遵循先进后出的原则

singleTop

栈顶模式:如果当前的Activity在栈顶的话,再执行跳转不会新建一个Activity,而会执行当前Activity的四个方法:onPause,onNewIntent,onResume,onPostResume方法。用一个大神简单的话说就是可以解决重复打开activity的问题,例如 点击注册按钮(500毫秒你点击了两次)  如果你用系统默认的启动模式 就会打开2个注册页面可以解决重复打开activity的问题,例如 点击注册按钮(500毫秒你点击了两次)  如果你用系统默认的启动模式 就会打开2个注册页面singTop启动模式的意思是开启actiivty的时候系统会先判断此activity是否存在栈顶 如果存在就激活此实例 因此就可以解决上述的问题

singleTask

如果在栈中已经有该Activity的实例,就重用该实例(会调用实例的onNewIntent())。重用时,会让该实例回到栈顶,因此在它上面的实例将会被移除栈。如果栈中不存在该实例,将会创建新的实例放入栈中。

singleInstance

加载该Activity时如果没有实例化,他会创建新的Task后,实例化入栈,如果已经存在,直接调用onNewIntent,该Activity的Task中不允许启动其它的Activity,任何从该Activity启动的其他Activity都将被放到其他task中,先检查是否有本应用的task,没有的话就创建。

附:以上都是本人自己理解和大量的测试得出的结论,如果有不足之处请多多指证。。谢谢

0 0