实践--Android四种启动模式(最简单描述)

目录结构


实践--Android四种启动模式(最简单描述)_第1张图片
目录结构

standard(默认)

startActivity无限生成实例放task中,如图

实践--Android四种启动模式(最简单描述)_第2张图片

singleTask

设置singleTask后,activity会在task中被置顶,其余的都会被弹出task。如果task中已经有了该实例,则会调用onNewIntent()方法,没有的话,就是正常启动流程。


实践--Android四种启动模式(最简单描述)_第3张图片
依次启动所有activity
实践--Android四种启动模式(最简单描述)_第4张图片
从fouractivity启动firstactivity

singletop

和默认的基本上一样,唯一的区别就是,如果栈顶已经存在有的相同类型activity,则会走onNewIntent()方法,而不是重新创建一个对象。

实践--Android四种启动模式(最简单描述)_第5张图片

singleInstance

前提:FirstActivity设置成singleInstance,其余的activity都是默认值。

依次跳转所有activity

实践--Android四种启动模式(最简单描述)_第6张图片
两个TaskRecord

当前在第一firstActivity中,button是跳转到SecondActivity,点击按钮后,结果如下

实践--Android四种启动模式(最简单描述)_第7张图片
FourActivity在栈顶

总结:使用singleInstance时,会重新创建一个task,当此task中的activity需要跳转到另外一个task中的activity时,不管指定跳转到哪个,都会直接跳转到当前栈顶的activity。

你可能感兴趣的:(实践--Android四种启动模式(最简单描述))