Android之Activity的启动模式

参考

Activity 的启动模式有4种,以及四种的描述和使用场景

1.standard:是Activity的默认启动模式,这种模式,(设定一个YoungActivity来说明)YoungActivity被启动,都会创建一个新的YoungActivity,并且将它置于栈顶,当被返回时,就是将它退出任务栈。(被启动多少次,就有多少个Activty对象)

使用场景:大多数的场景都适用。

2.singleTop:(设定一个YoungActivity来说明)当YoungActivity置于栈顶,YoungActivity再次被启动的时候,不会新建YoungActivity,也不会执行跳转操作。当YoungActivity不再栈顶,由别的Activity来启动YoungActivity,则会创建新的YoungActivity。

使用场景:开启渠道多,适合多应用开启调用的Activity:通过这种设置可以避免已经创建过的Activity被重复创建,就是说,可以提供共享的,例如:相机功能这些。

3.singleTask:
-(设定一个YoungActivity来说明)当YoungActivity被启动的时候,栈中还没有存在 YoungActivity,则新建 YoungActivity,并且置于栈顶。
-当 YoungActivity 在栈中已经存在,然后被其他Activity再次启动的时候,在栈中 YoungActivity 之上的 Activity会全部被退出栈,把 YoungActivity 置于栈顶。
-当YoungActivity 已经存在栈中,并且是栈顶位置,再次被启动,则不会有任何反应。

使用场景:当我们的任务资源比较重的Activity,可以使用这种模式。

4.singleInstance:前三种启动模式,都是在同一个栈中,singleInstance 是属于自己独立的一个栈中。它是单一的一个对象,独占一个栈,不会再创建,只是把它提前了。

使用场景:例如我们的启动页。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容