本文共 762 字,大约阅读时间需要 2 分钟。
每次都会新建一个Activity
SingleInstance也是单例的,singleTask只是任务栈内单例,系统里是可以有多个singleTask Activity实例的,而singleInstance Activity在整个系统里只有一个实例,启动一singleInstanceActivity时,系统会创建一个新的任务栈,并且这个任务栈只有他一个Activity
与标准模式比较相似,当Activity已经处于任务栈的顶部时,再去启动,不会再创建新的实例,如果不处于栈顶,就会重新新建一个Activity
对于每次启动Activity,不会再创建新的Activity,也不会重新走onCreate方法,只会在onNewIntent方法中走
所以,对于一个搜索Activity,可以输入搜索内容,也可以产生搜索结果,这时候,我们就需要一个SingleTop模式的Activity,不会让用户每次都产生一个实例。典型的例子就是:通讯录,浏览器
SingleTask模式的Activity在同一个Task中只存在一个实例,如果Activity存在顶部,并不会再创建新的Activity实例。SingleTask模式的Activity会导致任务栈内使他上面的Activity销毁,有可能影响到用户体验
当在SingleTask模式的A启动B,再从B启动A时,这时候也不会走A的onCreate方法,而是会走onNewIntent方法。
参考:
转载地址:http://buxkf.baihongyu.com/