• Android启动模式launchMode


    在Android里,有4种Activity的启动模式并分别介绍下:

    1. standard
    2. singleTop
    3. singleTask
    4. singleInstance

    AndroidManifest.xml配置android:launchMode属性

    1.standard:

      默认启动模式.

      每次都会创建一个实例,每个任务栈里面都可以使用。


    2.singleTop:

      系统会按照singleTop启动模式处理跳转行为.跳转时系统会先在栈结构寻找是否有一个Activity实例正位于栈顶,如果有则不在生成新的,而是直接使用。如果系统发现存在有Activity实例,但不是位于栈顶,重新生成一个实例.

      singleTop启动模式就是这样,如果发现对应的Activity实例正处于栈顶,反复创建也就只能创建一个实例(反复利用不生成新的实例).反之,此时不处于栈顶就创建新的实例。


    3.singleTask:

      如果发现有对应的Acitivty实例,则使此Activity实例之上的Activity实例统统退出栈,使此Acitivity实例成为栈顶对象,显示到屏幕前。


    4.singleInstance:

      这钟启动模式比较特殊,因为它会启用一个新的栈结构,将Activity放置于新的栈结构中,并保证不再有其他Activity实例进入.

      只存在一个独立的任务栈里面,一个任务栈就只包括它一个。


    1.文字表述比较抽象,画图演示可好?

      singleTop

          


      singleTask

      


      singleInstance

      

    2.这些启动模式在哪里地方能用到呢?

    3.启动模式背后的秘密?

  • 相关阅读:
    如何获取url访问历史记录
    js跨域总结
    setAttribute的兼容性
    js中原生对象、内置对象和宿主对象(转)
    一道变态的js题
    如何判断js是否加载完全
    深入理解viewport(转)
    webapp之路--理解viewport的使用
    zepto学习之路--源代码提取
    js正则之零宽断言
  • 原文地址:https://www.cnblogs.com/why168888/p/5510779.html
Copyright © 2020-2023  润新知