zoukankan      html  css  js  c++  java
  • Activity 的 launchMode(加载模式)

    在Androidmanifest.xml文件中可以给每隔Activity设置launchMode(加载模式)属性。该属性可以设置四种加载模式:

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

    1、standard(默认)

    1)从task中启动Activity时,该Activity的新实例总是在当前task中创建。

    2)每次启动Activity,都会创建该Activity类的新实例。

    3)一个task中可以存在同一Activity的多个实例。

    4)一个Activity的多个实例可以出现在多个task栈中。


    2、singleTop

    1)如果启动模式设置为singleTop的Activity实例未处于栈顶,则其表现与启动模式设置为standard的Activity的表现一致

    2)如果启动模式设置为singleTop的Activity的实例位于任务栈的栈顶,则不会创建该Activity的新实例。只是调用位于栈顶的该Activity实例的onNewIntent方法,将新的intent传递给该实例。


    3、singleTask

    1)设置为singleTask的Activity,具有全局唯一性,在Android系统中只能创建该Activity的一个实例。

    2)如果启动s设置为singleTask的Activity时,已经存在该Activity的实例,则将该实例之上的所有Activity实例释放,将该实例重新带回到栈顶,并调用器onNewIntent方法,将新的intent传递给该实例

    3)在创建设置为singleTask模式的Activity的实例时,如果当前task的taskAffinity与该Activity的taskAffinity一致,则直接在当前task中创建;

    如果当前task的taskAffinity值与该Activity的taskAffinity不一致则在新的任务中创建该Activity的实例。


    4、singleInstance

    1)当创建设置为singleInstance模式的Activity时,总是在新的任务中创建

    2)设置为SingleInstance模式的Activity,具有全局唯一性。在Android系统中只能存在该Activity的一个实例

    3)设置为singleInstance模式的Activity,总是单独在一个task中存在也就是说在该Activity所在的task栈中不可能存在其他的activity

    原文地址:http://blog.csdn.net/guomeijuan916/article/details/8121468

  • 相关阅读:
    ubuntu11.04更改默认JDK
    10个实用的jQuery交互/通信插件和教程
    jquery 使用方法
    在没有安装 ASP.NET MVC3 的服务器上运行 MVC3
    固定 vs. 流动 vs. 弹性:哪种布局更适合你?[SM]
    提升设计品质的8种布局方案[SM]
    Ubuntu 手动安装JDK
    十个简单好用的设计技巧[SM]
    jQuery VSDoc下载地址
    Ubuntu 配置Apache+PHP+MySQL
  • 原文地址:https://www.cnblogs.com/ywtk/p/4153684.html
Copyright © 2011-2022 走看看