Activity以及Activity的四种启动模式
来源:互联网 发布:java图书管理系统代码 编辑:程序博客网 时间:2024/05/21 17:14
Activity的概述
了解一下Activity,Activity是Android应用程序的四大组件之一,它是负责管理Android应用程序的前端用户界面,一个应用程序一般会包含若干个Activity,么一个Activity组件负责一个用户的界面展示。同时Activity是通过setContentView()方法来显示指定组件的。setContentView()方法既可以接受View对象为参数,也可以接受布局文件对应的资源id为参数。
Activity的四种启动模式
一、standard模式(点击几次,就回几次)
它是Activity默认的一种启动模式,一般的Activity不进行手动修改,默认的都是standard模式启动。在standard模式下,每当启动一个新的Activity,它就会进入任务栈,并且处于栈顶的位置,系统也不会判断该Activity在栈中是否存在,它每次启动都会创建一个新的实例。例如我们建一个测试项目,设计一个Button如下,
然后启动Activity,且插入一条Log.d("FirstActivity",this.toString())语句,目的是用日志记录点击地址时间,以便观察
运行的时候你点击几次就返回几次。
二.singleTop模式
singleTop与standard类似,区别在于,当启动的Activity已经位于栈顶时,则直接使用它,不用创建新实例。如果启动的Activity没有位于栈顶时,则创建一个新实例位于栈顶。
它的特点是不会打开多个已经打开的页面。
三.singleTask模式
它是Activity在整个应用程序中只存在一个实例,每次启动Activity时系统首先会检查栈中是否存在该Activity实例,如果发现已经存在则直接使用该实例,并将当前Activity之上的所有Activity出栈。如果没有发现则创建一个新实例。
它的特点是打开已经存在的,移除后面的。
四.singleInstance模式
在程序开发当中,,如果需要Activity在整个系统中都只有一个实例,这时就需要用到singleInstance模式。它区别于以上三种模式在于它指定singleInstance模式的Activity会启动一个新的任务来管理
采用这种模式分为两种可能:
一是如果要启动的Activity不存在,系统会先创建一个新的任务栈,再创建该Activity的实例,并把该Activity放入栈顶。
二是如果要启动的Activity已经存在,无论位于哪个应用程序或者哪个栈中,系统都会把该Activity所在的任务栈转到前台,使该Activity显示出来。
- Activity以及Activity的四种启动模式
- Android中Activity的四种启动模式以及用Intent启动Activity的模式
- Android的Activity生命周期以及四种启动模式
- Activity的生命周期和Activity的四种启动模式
- Activity的四种启动模式
- Activity的四种启动模式
- Activity的四种启动模式2
- Activity的四种启动模式
- activity的四种启动模式
- Activity启动的四种模式
- Activity的四种启动模式
- activity 的四种启动模式
- activity 的四种启动模式
- 分析Activity的四种启动模式
- Activity的四种启动模式
- Activity的四种启动模式
- Activity的四种启动模式
- Activity 四种启动模式的区别
- Linux 用户空间i2c 字符驱动
- Docker私有仓库Registry的搭建验证
- spoj cot4 bzoj 2787 Count on a trie
- 构造函数 && 圆周率
- Lantern --- 免费访问外网神器
- Activity以及Activity的四种启动模式
- JS判断对象是否为空
- CocoaPods更新卡住,pod install、pod update 速度慢解决命令
- 在linux用gdb查看stl中的数据结构
- 单元测试与代码覆盖率
- linux 环境下安装mysql
- c++公用数据的保护
- 终于找到了一篇一看就懂的 OKHttp 原理解析
- Qt实现Http通信