android 启动模式

android的四种启动模式,这个几乎面试必问的,之前经常搞混,现在项目种用到了启动模式,切被折磨了一番,故而特意写demo研究了一番。

1. android:launchMode="standard"

      标准启动模式,这个不用多说,android默认的启动模式,每次调用startActivity()都会重新创建一个实例,可以用下面的adb命令来查看堆栈,就知道有多少个实例被创建出来。

   查看当前运行的activity:adb shell dumpsys activity activities | findstr "Run"

2.android:launchMode="singleTask"

     这个启动模式要着重说明一下,按官方的意思:1.如果在任务栈中没有实例存在,创建一个实例,并置于栈顶;

                                                                                 2如果任务栈中有该实例存在,则直接使用该实例,且将activity置于栈顶。

 第一种情况会走activity的正常生命周期,及onCreate,onResume

 第二种情况不走onCreate,走onResume ,且在他后面打开的activity如果再启动这个singelTask,不管是否调用finish方法都会被从任务栈中移除

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,924评论 25 708
  • 一直对activity的启动模式和种种Flag意识模模糊糊,抽空详细研究了下,这里做一个记录,防止自己再遗忘。 A...
    小屁孩_H阅读 289评论 0 0
  • 经常混淆,转载的以备今后查看(原链接://www.greatytc.com/p/7f1c9fac2af2...
    lkuo阅读 1,060评论 0 1
  • 任务和返回栈 任务是指在执行特定作业时与用户交互的一系列 Activity。 这些 Activity 按照各自的打...
    糖果小猫咪阅读 314评论 0 0
  • 今天偶然看到一个女孩子出国读书的,感触颇深,我的好友也是在外,尽管是自己租房住,也免不了被当地的热情打败,我们想要...
    爱吃柚子的柚子阅读 256评论 0 2