zoukankan      html  css  js  c++  java
  • 关于activity的启动模式

    在Android中每个界面都是一个Activity ,界面的切换实际上是对不同Activity实例化的过程。而启动模式就决定Activity启动运行方式。

    1、设置方式
    它是在主配置文件中,Activity标签下的一个属性:android:launchMode=""
    2、属性值:
    standard (标准,默认)
      如果不设置一个Activity的启动模式,则该Activity默认的启动模式就是standard,该模式下,每次启动一个该Activity都会
    实例化一个新的Activity对象,并且放入任务栈中。它们都同属于一个Task

    singleTop
    见名知意,该模式为栈顶唯一模式。当Activity处于该模式下的时候,当需要启动此Activity时,会先看此Activity的实例是否存在于
    任务栈栈顶,如果位于栈顶,则重用该实例,不进行实例化。如果任务栈顶不是该Activity,则创建新的Activity,并且压入任务栈内。


    singleTask
    此模式为栈内唯一模式,此模式与栈顶唯一模式不同在于,栈顶唯一模式只看栈顶是否是我们要启动的Activity,而栈内唯一模式要看我们要
    启动的Activity是否位于整个栈内,从上到下检查,若存在,则将该Activity回到栈顶,即将该Activity上面所有的Activity进行出栈操作,
    进行销毁,这样我们需要的Activity将回到栈顶,得到焦点,与用户进行交互。

    singleInstance
    此模式为单一实例模式。处于这种模式下的Activity被启动时,先检测是否有存放该Activity的任务栈,若有则复用相应的Activity,若没有,创建
    新的Activity并放入一个新的任务栈,每个任务栈中只存放一个Activity对象,不可能存在其它Activity对象,处于这种状态下的Activity对象不存在
    回退窗口。


    总之,在Android 开发中,合理运用Activity的启动模式,将大大节省系统内存开销,提高运行效率。
  • 相关阅读:
    π框架参数规则(正则表达式验证)
    SQL查询优化的一些建议
    phalApi框架打印SQL语句
    phpstorm注册码
    phalApi数据库操作
    内容的全局搜索
    xampp虚拟主机的配置
    navicat自动备份数据
    IOC和AOP扩展
    Spring AOP
  • 原文地址:https://www.cnblogs.com/yangxiu/p/5914025.html
Copyright © 2011-2022 走看看