Activity的启动模式(Android开发艺术探索)

2020-04-29  本文已影响0人  xiaobug

1,standard:标准模式

2,singleTop:栈顶复用模式;
如果Activity已经位于任务战的栈顶,那么此Activity不会被重新创建,同时它的onNewIntent()方法会被回调,而onCreate(),onStart()方法不会被调用

3,singleTask:栈内复用模式,单实例的一种;
具有clearTop效果

4,singleInstance:单实例模式;

5,taskAffinity参数:
默认情况下,所有Activity所需要的任务栈的名字都为应用程序的包名,但是我们可以为每个Activity都可以指定taskAffinity属性;通过taskAffinity属性可以改变Activity所需要的任务栈的名字;

当taskAffinity和singleTask配合使用的时候,待启动的Activity会运行在名字和taskAffinity相同的任务栈中;

当taskAffinity和allowTaskPreparenting配合使用的时候,应用程序A启动应用程序B的ActivityC,这时候,重新打开B,会发现,重新显示了ActivityC;

上一篇下一篇

猜你喜欢

热点阅读