加载中…
个人资料
iPan
iPan
  • 博客等级:
  • 博客积分:0
  • 博客访问:1,058,661
  • 关注人气:234
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Android四种启动模式

(2020-02-21 13:16:28)
标签:

android

分类: 移动开发
标准模式(Standard),直接创建新对象并放在栈顶;
栈顶复用模式(SingleTop),若要创建的对象就在栈顶,则不需要创建;
栈内复用模式(SingleTask),若要创建的对象在栈内存在,则自动出栈到该对象为止;
单例模式(SingleInstance),创建新的栈存放当前需要新增的对象;

四种启动模式的区别
Android四种启动模式

启动模式的设置
启动模式有2种设置方式:在AndroidMainifest设置、通过Intent设置标志位;
1 在AndroidMainifest设置
在AndroidMainifest的Activity配置进行设置
android:launchMode="启动模式"
//属性
//standard:标准模式
//singleTop:栈顶复用模式
//singleTask:栈内复用模式
//singleInstance:单例模式
//如不设置,Activity的启动模式默认为**标准模式(standard)**

2 通过Intent设置标志位
Intent inten = new Intent (ActivityA.this,ActivityB.class);
intent,addFlags(Intent,FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
标记位属性 含义
FLAG_ACTIVITY_SINGLE_TOP 指定启动模式为栈顶复用模式(SingleTop)
FLAG_ACTIVITY_NEW_TASK 指定启动模式为栈内复用模式(SingleTask)
FLAG_ACTIVITY_CLEAR_TOP 所有位于其上层的Activity都要移除,SingleTask模式默认具有此标记效果
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS 具有该标记的Activity不会出现在历史Activity的列表中,即无法通过历史列表回到该Activity上

3 二者设置的区别
优先级不同
Intent设置方式的优先级 > Manifest设置方式,即 以前者为准
限定范围不同
Manifest设置方式无法设定 FLAG_ACTIVITY_CLEAR_TOP;Intent设置方式 无法设置单例模式(SingleInstance)



0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有