我所理解的activity四大启动模式

2022-05-06 19:48:16 浏览数 (2)

作为一名应届毕业生,每逢面试总要被问到activity的四大启动模式,搜到的这类文章也不少,打算用自己的话来说一说,若有不对的地方欢迎指出

activity四大启动模式:

1,standard: 标准启动模式,也就是说不管这个栈中activity是在栈顶、栈中、栈底,程序都会再去启动该activity并在栈中创建该activity。。一个栈中有多个相同 的activity存在,造成资源的浪费,个人不推荐使用这种方式。

需要注意的是,在配置文件中如果不配置activity的lauchmode属性,则默认为该启动模式。

2,singleTask单例模式:如果在栈中存在该activity,无论是在栈底、栈中、栈顶,都会重用栈中的activity,并且销毁掉在栈中位于该activity上方的所有activity,在项目中应用很广。项目中一般要求按两次返回键退出应用,推荐使用该模式

3,singleTop:如果在栈顶存在该activity,则会重用栈顶的activity,不会再去在栈中新建该activity,如果在栈中或是在栈底有该activity的实例而不是栈顶有,则依旧会在栈顶创建activity的实例。

4,singleInstance:这种启动模式在第一次启动activity时会去开辟一个新的栈用来存放该activity,每当启动activity时都会去调用这个栈中的activity,这样会再开劈一个新的栈,对系统来说是一个消耗。

0 人点赞