安卓 activity的四种启动模式
16lz
2021-01-26
首先需要明白任务栈:
栈是先进后出,activity才用不同的启动模式,当每次访问他时会采取完全不同的操作。
1、标准模式
<activiry android:name=”.MainActiviry”
android:launchMode=”standard” />
每次访问activity都会再栈内创建一个实例
2、栈顶模式--singleTop
如果访问一个activity时,该activity的时候刚好在栈顶,那么不会再次实例化对象,而是访问这个栈顶已经存在的实例,比如一个activity设置的是栈顶模式,当在他自己界面再往自己界面跳转的时候就不会再实例化一个自己实例出来。
3、singleTask
如果你访问的这个activity,已经在栈中有了一个实例,那么就不会再次生成activity的实例,而是访问这个已经在栈中存在的实例,并且将所有在该栈上面的activity全部移除,这样它就是在栈顶了。
4、单例模式--singleInstance
比如浏览器,如果一个程序打开了浏览器,另外一个程序又要打开浏览器,那么就会跳转到已经打开的浏览器界面,这样可以避免资源的浪费。
更多相关文章
- Android四种模式里隐含的哲学
- Android自定义Dialog简单实例
- Android学习笔记---使用HttpClient发送POST和GET请求
- (二)在Android硬件抽象层增加接口模块访问硬件驱动程序
- android UiAutomator自定义快速调试类
- android开发AIDL实例
- Android(安卓)设计模式 之 观察者模式
- Android教程之如何使用自定义字体
- 浅析android 控件listView中的设计模式