activity启动模式

standard

activity默认每一个任务栈都是一个Task,当我们Task调用其他Task的activity时候,我们的Task会增加一个其他Task的activity,但是其他Task的任务栈不会被打开,回到桌面我们在次点击其他Task,并不会显示已经打开的activity,这种是android 默认规程,在不同Task中打开同一个activity,activity会被创建多个实例,分别放到每一个task中.互不干扰.

singleTask

当我们使用singleTask时,Task叠加,我们Task调用其他Task的activity时候,会打开其他Task叠加到我们Task中,并显示已调用的activity.我们点击返回会将其他Task的activity全部销毁才会返回到我们Task,前台叠加的Task进入后台会全部拆开,最近任务键(方块)和home键前台进入后台,点击最近任务键,会发现有两个Task,继续点击其他Task,点击返回,这时候并不会返回到我们Task,而是回到应用桌面,

singleTask,规则,其他activity已经创建,会复用其他activity,不会调用onCreate,会调用onNewIntent,并销毁其他activity上层全部activity

allowTaskReparenting

activity默认归属一个Task,不会在多个Task跳来跳去,可以通过设置改变这个逻辑,allowTaskReparenting="true" 设置 allowTaskReparenting 我们的Task打开也会其他Task的activity时候,返回到桌面,再次点击我们的Task,会把其他Task的activity移到我们的Task中.

singleInstance

没一个activity都是一个单独的Task

taskAffinity

相同的taskAffinity都会放到同一个Task任务栈中

singleTop

如果栈顶activity是要启动的activity,这时候直接复用,如果不是采用standard方式创建一个新的activity

默认standard和singleTop多用于app内部

singleInstance对用于开放给外部app来共享使用

singleTask 内部交互和外部交互都会用的上,

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值