安卓下载app android中的activity的启动方式有哪几种?
android中的activity的启动方式有哪几种?
有四种活动启动模式:standard、singletop、singletask和singleinstance。
1. 标准默认模式,无需写配置。在这种模式下,默认情况下会创建一个新实例。因此,在此模式中,可以存在多个相同的实例,并且可以叠加多个相同的活动。
2. Singletop可以有多个实例,但不允许堆叠多个相同的活动。也就是说,如果某个活动在堆栈顶部启动同一个活动,它将不会创建新实例,而是调用其onnewintent方法。
3. Singletask只有一个实例。在同一个应用程序中启动它时,如果活动不存在,则将在当前任务中创建一个新实例。如果存在,则会删除任务上方的其他活动destory,并调用其onnewintent方法。
4. Singleinstance只有一个实例,这个实例在一个任务中独立运行。此任务只有此实例,不允许其他活动。
singleTop和singleTask有什么区别呢?
singleTop singleTop与standard的唯一区别是,当singleTop的活动位于堆栈顶部时,启动另一个活动不会创建新活动,而是会重用它。例如,a是标准的,B是singletop,/ABAB是任务堆栈,start:a表示启动活动,初始堆栈是/a/a开始:B/AB开始:B/AB开始:A/ABA开始:A/ABAA开始:B/ABAAB开始:B/ABAAB就这样。Singletask和singleinstance可以分为另一种启动模式,这必然导致任务栈的变化。singletask和singleinstance的区别在于singleinstance所在的任务堆栈只能有其活动。设a为标准,B为单任务,C为标准/a开始:B/B开始:C/BC开始:A/BCA开始:B/B上面。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。