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


更多相关文章

  1. Android(判断wifi是否开启,手机屏幕状态,sdcard是否被拔出,设置全屏)
  2. Android(安卓)O apk权限默认开启
  3. Android(安卓)只开启一个Activity实例
  4. android源码编译的小小总结
  5. Android开启手电筒功能(完美适配Android4x,5x,6x)
  6. Android蓝牙耳机录音
  7. Pro Android学习笔记(一二四):Telephony API(6):SIP Phone(上)
  8. Nexus s Android(安卓)4.1.1 通过USB共享Ubuntu网络
  9. Android(安卓)定时器Timer的使用

随机推荐

  1. android 自动化测试之MonkeyRunner学习(二
  2. 我的Android进阶之旅------>Android通过
  3. Android控件之ListView
  4. Android-menu键选项菜单的实现
  5. 熟悉Android---canvas第一笔
  6. [置顶] Android系统移植与调试之------->
  7. Android:LayoutInflater的使用
  8. android 使用websocket 实现简单的聊天。
  9. Android中GUI系统的Event路由机制
  10. The source attachment does not contain