Activity的四种启动模式

简介: Android的冷门知识,大家有兴趣可以了解了解

一.standard:

系统默认的启动模式,栈结构,先进后出,打开一个activity入栈,再打开下个activity,接着入栈,我们平时直接创建的Activity都是这种模式的Activity


这种模式的Activity的特点是:只要你创建了Activity实例,一旦激活该Activity,则会向任务栈中加入新创建的实例,退出Activity则会在任务栈中销毁该实例。


二.singleTop:

如果某个Activity自己激活自己,即任务栈栈顶就是该Activity,则不需要创建,其余情况都要创建Activity实例;


三.singleTask:

如果要激活的那个Activity在任务栈中存在该实例,则不需要创建,只需要把此Activity放入栈顶,并把该Activity以上的Activity实例都pop;


四.singleInstance:

如果我们将某个activity设置成这个singleStance启动模式,则当激活这个activity之后单独放到一个栈,下次再使用的时候,直接使用这个栈,比如打电话应用就是一个singleStance模式启动的activity


代码实现有两种方式


第一种在AndroidMainfest中配置 想要的 启动模式


<activity android:name=".SecondActivity" android:launchMode="singleInstance"/>

第二种在Java代码中配置


       Intent intent = new Intent(MainActivity.this,SecondActivity.class);

       intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);

       //在这里进行逻辑处理

       startActivity(intent);



目录
相关文章
|
25天前
|
XML 监控 Android开发
Activity详解2
Activity详解
30 1
|
25天前
|
存储
Activity详解1
Activity详解
28 0
|
8月前
|
Android开发
Android 中Activity的四种启动模式
Android 中Activity的四种启动模式
158 0
|
Java 调度 Android开发
Activity
前言:这世界所有的惊喜与好运,都是你积攒的温柔与善良。 1.Activity,Window与View的关系 下面是自己查阅资料,看了下一点源码的归纳所得,如果哪写错了欢迎指出!下面贴下小结图: 流程解析:Activity调用startActivity后最后会调用attach方法,然后在PolicyManager实现一个Ipolicy接口,接着实现一个Policy对象,接着调用makenewwindow(Context)方法,该方法会返回一个PhoneWindow对象,而PhoneWindow是Window的子类,在这个PhoneWindow中有一个DecorView的内部类,是所有应用窗
56 0
|
传感器 存储 定位技术
Activity初学乍练
Activity是一个应用程序的组件,他在屏幕上提供了一个区域,允许用户在上面做一些交互性的操作,比如打电话,照相,发送邮件,或者显示一个地图!Activity可以理解成一个绘制用户界面的窗口,而这个窗口可以填满整个屏幕,也可能比屏幕小或者浮动在其他窗口的上方!
52 0
|
Java 调度 Android开发
Activity登堂入室
Activity调用startActivity后最后会调用attach方法,然后在PolicyManager实现一个Ipolicy接口,接着实现一个Policy对象,接着调用makenewwindow(Context)方法,该方法会返回一个PhoneWindow对象,而PhoneWindow是Window的子类,在这个PhoneWindow中有一个DecorView的内部类,是所有应用窗口的根View,即View的老大,直接控制Activity是否显示(引用老司机原话..),好吧,接着里面有一个LinearLayout,里面又有两个FrameLayout他们分别拿来装ActionBar和Cus
75 0
|
XML Java Android开发
第二讲 Activity详解
第二讲 Activity详解
144 0
第二讲 Activity详解
|
算法
Activity的四种启动模式
简介: 我们一个程序会存在不同的Activity,也会存在许多实例,这些实例就会进入任务栈中,任务栈采用“后进先出”的算法,例如:我们使用手机,打开QQ,在QQ界面进入一个聊天界面,此时存在两个Activity实例,假设我们按一下back键我们将回到QQ主界面,在按一下back键我们将回到屏幕主界面,这就是“后进先出”。
145 0
Activity的四种启动模式
|
Android开发
Activity四种启动模式
Activity四种启动模式