博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Activity的四种启动模式 分类: Android ...
阅读量:7229 次
发布时间:2019-06-29

本文共 984 字,大约阅读时间需要 3 分钟。

我们在开发项目的过程中,会涉及到该应用中多个Activity组件之间的跳转,或者夹带其它应用的可复用的Activity。例如我们可能希望跳转到原来某个Activity实例,而不是产生大量重复的 Activity。这样就需要我们为 Activity 配置特定的加载模式,而不是使用默认的加载模式。

Activity 有四种加载模式

[1] standard 模式

     这是默认模式,每次激活Activity时都会创建Activity实例,并放入任务栈中。


[2] singleTop 模式

     如果在任务的栈顶正好存在该Activity的实例,就重用该实例( 会调用实例的 onNewIntent() ),否则就会创建新的实例并放入栈顶,即使栈中已经存在该Activity的实例,只要不在栈顶,都会创建新的实例。


[3] singleTask 模式

     如果在栈中已经有该Activity的实例,就重用该实例(会调用实例的 onNewIntent() )。重用时,会让该实例回到栈顶,因此在它上面的实例将会被移出栈。如果栈中不存在该实例,将会创建新的实例放入栈中。


[4] singleInstance 模式

     在一个新栈中创建该Activity的实例,并让多个应用共享该栈中的该Activity实例。一旦该模式的Activity实例已经存在于某个栈中,任何应用再激活该Activity时都会重用该栈中的实例( 会调用实例的 onNewIntent() )。其效果相当于多个应用共享一个应用,不管谁激活该 Activity 都会进入同一个应用中。


设置启动模式的位置在 Manifest.xml 文件中 Activity 元素的 :launchMode 属性。




在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。

这需要为Activity配置特定的加载模式,而不是使用默认的加载模式。

加载模式分类及在哪里配置

Activity有四种加载模式:

  • standard
  • singleTop
  • singleTask
  • singleInstance

转载于:https://www.cnblogs.com/xieping/p/4666285.html

你可能感兴趣的文章
ceph存储之查找对象
查看>>
IE7下浮动(float)层不能实现环绕的问题
查看>>
LeetCode 【Single Number I II III】
查看>>
BOOL类型和引用,三目运算符
查看>>
rocketMq概念介绍
查看>>
Google推出iOS功能性UI测试框架EarlGrey
查看>>
busybox filesystem ts_config: No such file or directory
查看>>
Unity 3D第三人称视角、用途广泛限定角度(视角不能360度翻转)
查看>>
Spreading the Wealth uva 11300
查看>>
Eclipse 报java.lang.UnsupportedClassVersionError: ("yourclass") bad major version at offset=6
查看>>
快读快输板子
查看>>
vue中父组件给子组件额外添加参数
查看>>
分片上传
查看>>
网络编程初识和socket套接字
查看>>
什么是构造函数?它和普通函数的区别?
查看>>
mysql中key 、primary key 、unique key 与index区别
查看>>
zabbix使用企业微信发送告警信息
查看>>
zabbix4.0离线快速编译安装(编译安装方法)
查看>>
[Java开发之路](7)RandomAccessFile类详解
查看>>
Linux中的tty与pts
查看>>