Activity 启动模式
来源:互联网 发布:淘宝店铺首页怎么弄 编辑:程序博客网 时间:2024/05/18 01:09
在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在界面切换的过程中,会形成一个Activity序列,这个序列可以称之为Task。Task其实就是一个栈,通常情况下用户开启一个应用,该应用就会自动创建一个栈,该栈中存放了一系列的Activity的实例,栈顶的Activity实例会被第一个调用。每一个Android应用可以同时拥有好几个栈,但只有一个栈处于激活状态。
启动一个Activity共有四种模式,分别是:
standard(标准模式)
standard模式为系统默认模式,如果设置为该模式,每次激活Activity时都会创建一个新的实例,并放入Task的栈顶。
singleTop(单顶模式)
singleTop模式下启动有两种情况:
1.如果将要启动的Activity在栈顶,则不会创建新的Activity实例,直接复用该实例。
2.如果将要启动的Activity不在栈顶,则会创建新的Activity实例,并放入Task的栈顶,即使栈中已经存在该Activity的一个实例。
singleTask(单任务模式)
singleTask模式下启动的Activiyt在整个Task中只能存在一个实例,启动时有两种情况:
1.如果在Task中不存在将要启动的Activity实例,则会创建新的Activity实例,并放入Task的栈顶。
2.如果在Task中已经存在将要启动的Activity实例,若该Activity实例在栈顶,则会直接复用该实例,若该Activity实例不再栈顶,则会将该Activity以上的所有Activity全部从Task中移除,使该Activity处于栈顶。
singleInstance(单实例模式)
singleInstance模式下启动的Activity在整个Android系统中只能存在一个实例,并且在其启动后,系统会为该Activity新建一个Task,在这个Task中只允许有该Activity一个实例。一旦该模式启动的Activity实例已经存在于某个栈中,任何应用再激活该Activity时都会重用该栈中的实例。
注:
1.Activity启动模式可以在AndroidMainfest.xml文件中的activity标签中添加android:lunchMode=""
2.singleTask和singleInstance模式下,只有首次启动调用onCreate()创建Activity,其他情况均调用onNewIntent()。
3.startActivityForResult()方法启动的Activity如果设置为singleTask和singleInstance模式,则立即会在onActivityResult()方法中返回cancled。
- android Activity启动模式
- Android Activity启动模式
- activity启动模式详解
- Activity启动模式1
- activity的启动模式
- Activity有四种启动模式
- Activity启动模式
- activity启动模式分析
- Activity的启动模式
- Activity 启动模式
- Activity启动模式
- Activity的启动模式
- Activity 启动模式
- Activity启动模式总结
- Activity的启动模式
- Activity的启动模式
- Activity 启动模式
- Activity启动模式
- DataGridView.AutoGenerateColumns 属性
- Uva-11995-I Can Guess the Data Structure!
- 黑马程序员 笔记(九)——面向对象(内部类)
- YII 返回视图3种方式
- Oracle 使用RMAN COPY 移动 整个数据库 位置 示例
- Activity 启动模式
- indy组件在2010的重装
- jquery读取json格式
- 我来理解extern "C"
- GCC学习笔记
- 分享一个好用的免费查找PCB封装尺寸的软件工具
- 第三届蓝桥杯预赛java组第二题比酒量
- 百度地图 Android版 隐藏logo
- Jquery-Cookie