任务:就是存储app启动的Activity对象的集合 回退栈:按照Activity打开顺序进行次序排放(先进后出) 一、Activity的四种模式: 1、standard:标准 默认的是该模式 只要跳转就会创建对应的实例对象onCreate 2、singleTop:顶部唯一 如果当前的Activity对象在顶部就不再onCreate而是自动调用onNewIntent方法 如果不再顶部或不存在就onCreate 3、singleTask:任务中实例唯一 如果当前的任务中有对应的实例对象,那么就不再onCreate而是自动调用onNewIntent方法 如果对应的前面有Activity对象那么就全部退出 如果不存在就onCreate 4、singleInstance:开辟任务,存储当前Activity实例(不建议使用) 每个回退栈中只会存储一个实例对象 启动模式在清单文件中配置: <activity android:name=".MainActivity" android:launchMode="standard" /> 二、Intent:意图 作用: 1、用于封装程序的”调用意图“ 2、实现两个Activity之间的数据交换 3、各种应用程序组件(Service、BroadcastReceiver)之间通信的重要媒介 页面跳转: 1、startActivity:跳转 2、startActivityForResult:回传 Intent的七大属性: 1、Component name 组件名 类类型 组件名表示包名.类名 设置组件名 setComponent() setClass() setClassName() 获取getComponent() 2、Action 字符串类型对组件特征描述--定义意图的行为 1.系统提供的action常量 ACTION_VIEW 2.自定义action setAction() 设置action getAction()获取action 3、Data 数据 一般与action结合到一起用 表示action动作执行的数据资源 URI(统一资源标示符) Data就是uri类型的数据 uri类型中包括数据资源以及数据类型 MIME scheme://host:port/path setData() setDataAndType() 设置data getData() getType() 获取方法 4、Type 数据类型 设置数据的MIME类型 格式 大类型/小类型----字符串 setType()设置Data的类型 getType()获取Data的类型 5、Category 分类 字符串对activity进行分类 addCategory()设置 removeCategory()移除 getCategories()获取分类字符串列表 6、Extras 额外信息 主要在intent激活组件时进行数据的传递 7、flags 标记 int类型 用来标记回退栈中的actvity 以及提供的常量可以设置activity的启动模式 setFlags() 设置标记 getFlags() 获取标记 常用的标记: FLAG_ACTIVITY_CLEAR_TOP:(效果同Activity LaunchMode的singleTask) FLAG_ACTIVITY_SINGLE_TOP:(效果同Activity LaunchMode的singleTop) FLAG_ACTIVITY_NEW_TASK