Activity加载模式-创新互联

Activity加载模式的不同(eg:通知栏中提示信息)

创新互联长期为1000多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为友谊企业提供专业的做网站、成都做网站友谊网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。

Task:(类似栈)保存开启的Activity

1、开启本身(关闭的次数为开启的次数)

默认模式(standard)

  android:launchMode="standard">

2、singleTop  栈顶单实例模式(关闭次数只有一次)

android:launchMode="singleTop">

1’目标Activity不存在时,创建一个新的Activity,加载到当前Task

2’目标Activity已经存在,并且处于栈顶,开启时就不会创建新的Activity对象

3’若目标Activity已经存在,但不在栈顶(开启另一个Activity),则会创建新的Activity对象

3、singleTask(栈中单实例)

android:launchMode="singleTask"

1’目标Activity不存在时,创建一个新的Activity,加载到当前Task

2’ 目标Activity已经存在,并且处于栈顶,开启时就不会创建新的Activity对象

3’ 若目标Activity已经存在,但不在栈顶(开启另一个Activity),会把目标Activity之上的所有Activity都清除,剩下本身,只退出一次

4、singleInstance (全局单实例)

android:launchMode="singleInstance"

1’目标Activity不存在时,创建一个新的Activity,存放在新的Task下

获得Task位置getTaskIdea();

2’ 目标Activity已经存在,并且处于栈顶,开启时就不会创建新的Activity对象,把目标Activity所在的Task移动到前台

Intent标志位flags

1、 Intent.FLAG_ACTIVITY_SINGLE_TOP(singleTop)

2、 Intent.FLAG_ACTIVITY_CLEAR_TOP  (singleTask)

目标Activity存在时,但是处于栈中,关闭时将本身关闭(移除),再重新创建一个新的Activity

A---àB(设置意图标志位)---àA

3、 Intent.FLAG_ACTIVITY_NEW_TASK

在服务广播接受者中要跳转到某个Activity界面时,必须设置意图标志位Intent.FLAG_ACTIVITY_NEW_TASK

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:Activity加载模式-创新互联
标题路径:http://hbruida.cn/article/dcdheh.html