大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
第九章 Activity的加载模式
成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的下城网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
task:类似于栈,每次打开界面会创建一个task,然后将这开启的界面放入到该task中。
(1)standard:默认模式
每次都会创建一个新的界面,将该界面加入task中
(2)singleTop:栈顶单实例模式
a. 如果目标Activity不存在,创建一个新的Activity,存入到task中
b. 如果目标Activity已经存在,并且处于栈顶,不会再创建新的Activity
c. 如果目标Activity已经存在,但不处于栈顶,创建一个新的Activity存放到task中
(3)singleTask:栈中单实例
a. 如果目标Activity不存在,创建一个新的Activity,存入到task中
b. 如果目标Activity已经存在,并且处于栈顶,不会再创建新的Activity
c. 如果目标Activity已经存在,但是处于栈中,会将目标Activity之上的所有Activity销毁
(4)singleInstance:全局单实例
a. 如果目标Activity不存在,创建一个新的task和新的Activity,将Activity存入到task中
b. 如果目标Activity已经存在,将该Activity所在的task移动到前台进行展示
单实例(单例,单态)SingleTon
(1)声明一个类,私有化其构造方法
private SingleTon(){}
(2)创建一个该类类型的对象
private static SingleTon singleTon = new SingleTon();
(3)public static SingleTon getInstance(){
return singleTon;
}
(4)测试
Intent标志位
//设置Intent标志位
intent.setFlags(Intent.FLAG_ACTIVITY_XXX);
a. Intent.FLAG_ACTIVITY_SINGLE_TOP:
与加载模式中singleTop(栈顶单实例)类似
b. Intent.FLAG_ACTIVITY_CLEAR_TOP:
效果与加载模式中singleTask类似,将目标Activity之上的所有Activity都销毁(包括自身),然后创建一个新的Activity
c. Intent.FLAG_ACTIVITY_NEW_TASK:
备注:如果在service中通过startActivity跳转界面,必须设置Intent标志位。