温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Activity加载模式

发布时间:2020-06-20 21:58:59 来源:网络 阅读:403 作者:yahaa 栏目:开发技术

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


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

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

默认模式(standard

   android:launchMode="standard">

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

android:launchMode="singleTop">

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

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

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

3singleTask(栈中单实例)

android:launchMode="singleTask"

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

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

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

4singleInstance (全局单实例)

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


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI