2013-05-24 小结 Intent的各Flag的用法
来源:互联网 发布:斗拱尺寸算法 编辑:程序博客网 时间:2024/05/21 10:35
1.FLAG_ACTIVITY_CLEAR_TOP
Intent it =new (A.this,B.class);
Intent it2 = new (B.this,C.class);
Intent it3 = new (C.this,A.class);
it3.setFlag(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(it3);
这样运用该标志,C跳到A会直接关掉B去调用B的onDestroy()方法,C调用onPause()方法。
1)如果A的启动模式为standard模式则会调用A的onDestory()方法,然后重新创建A调用onCreate(),onStart(),onResume()方法,C则最后调用onStop() onDestroy()方法。
2)如果A的启动模式为singleTop则不会重新创建A的实例,直接将BC关闭。
该标志也可以用于退出程序:
在退出时startActivity到启动页面,并将启动页面的启动模式设置为singleTop
if ((Intent.FLAG_ACTIVITY_CLEAR_TOP & intent.getFlags()) != 0) { finish(); }
activity的启动模式:
singleTop的理解
当要转向的该activity不是栈顶activity实例则会新创建一个实例,此刻是与standard的模式是一样的。
如果是则不创建新实例而是调用onRestart()方法重启(什么时候是这样情况,当启动该Activity的时候将他上面的所有
activity都destroy掉的时候,则会发生的情况,也即启动该activity的时候加了一个Intent.FLAG_ACTIVITY_CLEAR_TOP
标志的时候)
singleInstance的理解
此启动模式不管是否在栈顶,程序中始终只有这一个实例,在跳转到该activity的时候
会调用onRestart()方法。将该实例放置到栈顶
该启动模式与标志Intent.FLAG_ACTIVITY_CLEAR_TOP一起使用,该标志失效,没有起作用。
singleTask的理解
设置该模式,没有任何标志,则会清除其之上的所有activity实例,并将原来的实例置于栈顶
加Intent.FLAG_ACTIVITY_CLEAR_TOP的标志,生命周期方法的运行也一样,也只有一个实例,只不过跟
singleInstance+Intent.FLAG_ACTIVITY_CLEAR_TOP一样的效果
- 2013-05-24 小结 Intent的各Flag的用法
- Intent之几种FLAG的用法
- Intent的Flag
- Intent的Flag
- Intent的Flag属性
- Android的Intent Flag
- intent的flag标志
- Intent的Flag总结
- Intent对象内置的Flag
- Android Intent Flag的介绍
- 常用的Intent Flag 说明
- Intent 传递的flag基本常识
- Android Intent Flag的介绍
- Android Intent Flag的介绍
- Intent对象内置的Flag
- Android Intent Flag的介绍
- Android Intent Flag的介绍
- Android Intent Flag的介绍
- 记住有个mb_convert_encoding
- python assert用法
- CSS渲染器:将Photoshop Filters效果带入网络
- 局域网内Linux服务器时间同步
- mysql通过脚本文件创建表报ERROR 1064 (42000):
- 2013-05-24 小结 Intent的各Flag的用法
- Unrecognized Windows Sockets error: 0: JVM_Bind
- LoadRunner检查点用法小结
- 如何在控制台创建oracle表空间
- CAP ACID BASE
- SetToProperty & GetToProperty
- paip.deivsuit安装.检测文件与文件夹锁定进程与解锁
- AndEngine中手柄的使用——DigitalOnScreenControl && AnalogOnScreenControl
- Bat命令学习