zoukankan      html  css  js  c++  java
  • Android学习笔记四:activity的四种启动模式

    Activity有四种启动模式:standard,singleTop,singleTask,singleInstance。

        1、standard:标准启动模式

        默认模式,这个模式下启动的Activity会多次创建实例。每次启动一个Activity都会重写创建一个新的实例,不管这个实例存不存在,这种模式下,谁启动了该模式的Activity,该Activity就属于启动它的Activity的任务栈中。

        2、singleTop:栈顶复用模式

        这个模式下启动Activity,如果栈顶也是同一个Activity的话,那么不再实例化新的Activity了,直接使用之。也就是说:栈顶只能存在一个该activity实例

        3、singleTask:栈内复用模式

        这个模式下启动时,系统会首先在back stack下检查是否有该Activity的实例,如果有的话,就使用之,如果没有的话,就会创建一个新的实例,也就是说actvity栈中只能存在一个该activity实例。复用时,会将它上面的Activity全部出栈,并且会回调该实例的onNewIntent方法

        4、singleInstance:

        这种模式会启动一个新的back stack来管理这个Activity,不管哪个应用来访问,都共同用了同一个back stack来访问该activity,也就是说共享Activity的实例。

        这种模式下的Activity会单独占用一个Task栈,具有全局唯一性,即整个系统中就这么一个实例,由于栈内复用的特性,后续的请求均不会创建新的Activity实例,除非这个特殊的任务栈被销毁了。以singleInstance模式启动的Activity在整个系统中是单例的

  • 相关阅读:
    nginx 附件上传不上去 client_max_body_size 设置的太小
    python 1
    NGINX 常用配置
    Linux OOM Killer 保护机制
    MacbookPro接上HDM连接显示器不能上网的解决方法
    python 逻辑运算符 () > not > and > or
    TASSL 服务端 客户端测试代码
    SSL通信双方如何判断对方采用了国密
    C/S boringSSL那点事
    从Chrome源码看浏览器的事件机制
  • 原文地址:https://www.cnblogs.com/ygj0930/p/7513619.html
Copyright © 2011-2022 走看看