极客学院安卓视频
理论部分 : (单词部分)

standard
singleTop
singleTask
singleInstance

代码部分: (配置XML文件)

        <activity  android:name="com.example.jk_android1.MainActivity" android:label="@string/app_name" android:launchMode="standard" >`

可以看出来,这行代码就是设置启动方式的一个属性

android:launchMode="standard"

我们继续看下文正题

了解四大启动模式之前首先要明白两个内容
1.Activity栈:
2.Activity实例

理解部分:

正常情况下 : 一个APP只有一个栈,但是有多个实例, (栈是保持先进后出原则)
通俗的理解:一个软件,有一个叫栈的容器,装很多页面
先进后出的实际体验就是: 点击退出,逐个退,直接退,等等
这就是启动方式要管理的启动方式具体作用了

代码部分:

   text1.setText("Activity栈中任务ID:"+   getTaskId()+"\n" +                 "Activity的实例地址Id:" + toString());

这样就比较直观了

standard (系统默认的)
特点: 只有一个栈,每一次跳转页面 ,都新建一个新的实例
singleTop
特点:只有一个栈,每一次跳转页面,看栈顶是否一致(如果一致不新建)
singleTask
特点: 只有一个栈, 每一次跳转页面,如果栈中有相同的页面,中间的实例直接摧毁
singleInstance
特点: 每次跳转都会创建一个新的栈,一个栈,一个实例,

重点:
“taskaffinity”页面的归属,如果 代码包名为进,这个就是出的意思

 <activity android:name="UserFeedTwo" android:launchMode="singleTask" android:taskAffinity="com.testaffinity" >          </activity></span>  

参考官方回答:

参考疯狂讲义
这里写链接内容

Activity启动模式设置:

    <activity android:name=".MainActivity" android:launchMode="standard" />

Activity的四种启动模式:

1. standard    模式启动模式,每次激活Activity时都会创建Activity,并放入任务栈中。2. singleTop    如果在任务的栈顶正好存在该Activity的实例, 就重用该实例,否者就会创建新的实例并放入栈顶(即使栈中已经存在该Activity实例,只要不在栈顶,都会创建实例)。3. singleTask    如果在栈中已经有该Activity的实例,就重用该实例(会调用实例的onNewIntent())。重用时,会让该实例回到栈顶,因此在它上面的实例将会被移除栈。如果栈中不存在该实例,将会创建新的实例放入栈中。4. singleInstance    在一个新栈中创建该Activity实例,并让多个应用共享改栈中的该Activity实例。一旦改模式的Activity的实例存在于某个栈中,任何应用再激活改Activity时都会重用该栈中的实例,其效果相当于多个应用程序共享一个应用,不管谁激活该Activity都会进入同一个应用中。

更多相关文章

  1. android四大组件启动流程-BroadcastReceiver启动流程(基于androi
  2. Android(安卓)设置开放隐性启动Intent
  3. Android学习整理之Activity篇
  4. Android:布局实例之模仿微信Tab
  5. android启动之子系统切换
  6. Android(安卓)基础常见记录
  7. RN不用启动Android(安卓)Studio用命令行启动虚拟机
  8. 在Android中创建启动界面
  9. android JNI NDK

随机推荐

  1. selector
  2. Android程序怎么做单元测试
  3. 制作登录界面的布局时候,可以使用 android
  4. Android 把从网络获取的图片缓存到内存中
  5. android 设置全屏的三种方式
  6. Android用SharedPreferences记住用户名
  7. Android简单实现音乐播放器
  8. [置顶] Linux下安装配置Android开发环境
  9. android遮罩阴影对话框的实现
  10. android圆角按钮