Intent.FLAG_ACTIVITY_NEW_TASK|FLAG_ACTIVITY_CLE...

Intent.FLAG_ACTIVITY_NEW_TASK如果将intent设置这一项就会从历史队列中独立出来,生成一个新的activity的队列。FLAG_ACTIVITY_CLEAR_TOP就会将新站第一个activity在原来队列中位于他上面的activity都清空。例如有四个activity A B C D,他们中都有一个按钮,按a的按钮会跳到b,b->c,c->d,d->b,如果activity d中的intent设置了以上两个属性

Intent intent=new Intent(getApplicationContext(), ActivityB.class);

 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK);则当跳转到b后b上面的c d两个activity的给clear了,且生成了一个新的队列,该栈以b为开始,a本来就在b下面没清空与b一同处于新队列中,此时按返回按钮会跳转到a,再次按返回就会退出程序。如果没设这两个属性,则到了b后按返回按钮后不会跳转到a因为此时栈中,b处于栈顶,其次是d-->c-->b-->a,按照这个顺序先到d再到c再到b再到a,会出现非常奇怪且复杂的层次结构。以上均为个人理解,错误在所难免,如有不对欢迎拍砖辞教。

 

 

 

转载于:https://my.oschina.net/u/1015229/blog/169964

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值