简单说说Android四中启动方式
2017-05-11 14:54
323 查看
[1] standard 模式 ADBC+D-->ADBCD ADBC+C->ADBCC
这是默认模式,每次激活Activity时都会创建Activity实例,并放入任务栈中。
[2] singleTop 模式 ADBC+D-->ADBCD ADBC+C->ADBC
如果在任务的栈顶正好存在该Activity的实例,就重用该实例( 会调用实例的 onNewIntent() ),否则就会创建新的实例并放入栈顶,即使栈中已经存在该Activity的实例,只要不在栈顶,都会创建新的实例。
[3] singleTask 模式 ADBC+D-->AD ADBC+E-->ADBCE
如果在栈中已经有该Activity的实例,就重用该实例(会调用实例的 onNewIntent() )。重用时,会让该实例回到栈顶,因此在它上面的实例将会被移出栈。如果栈中不存在该实例,将会创建新的实例放入栈中。
[4] singleInstance 模式 可以在别的应用用启动它
在一个新栈中创建该Activity的实例,并让多个应用共享该栈中的该Activity实例。一旦该模式的Activity实例已经存在于某个栈中,任何应用再激活该Activity时都会重用该栈中的实例( 会调用实例的 onNewIntent() )。其效果相当于多个应用共享一个应用,不管谁激活该 Activity 都会进入同一个应用中。
设置启动模式的位置在 AndroidManifest.xml 文件中 Activity 元素的 android:launchMode 属性。也可以跳转的时候设置Intent的参数
这是默认模式,每次激活Activity时都会创建Activity实例,并放入任务栈中。
[2] singleTop 模式 ADBC+D-->ADBCD ADBC+C->ADBC
如果在任务的栈顶正好存在该Activity的实例,就重用该实例( 会调用实例的 onNewIntent() ),否则就会创建新的实例并放入栈顶,即使栈中已经存在该Activity的实例,只要不在栈顶,都会创建新的实例。
[3] singleTask 模式 ADBC+D-->AD ADBC+E-->ADBCE
如果在栈中已经有该Activity的实例,就重用该实例(会调用实例的 onNewIntent() )。重用时,会让该实例回到栈顶,因此在它上面的实例将会被移出栈。如果栈中不存在该实例,将会创建新的实例放入栈中。
[4] singleInstance 模式 可以在别的应用用启动它
在一个新栈中创建该Activity的实例,并让多个应用共享该栈中的该Activity实例。一旦该模式的Activity实例已经存在于某个栈中,任何应用再激活该Activity时都会重用该栈中的实例( 会调用实例的 onNewIntent() )。其效果相当于多个应用共享一个应用,不管谁激活该 Activity 都会进入同一个应用中。
设置启动模式的位置在 AndroidManifest.xml 文件中 Activity 元素的 android:launchMode 属性。也可以跳转的时候设置Intent的参数
相关文章推荐
- 简单说说Android自定义view学习推荐的方式
- 简单说说Android自定义view学习推荐的方式
- Android 启动应用程序方式
- Android 启动应用程序方式
- 关于android创建快捷方式会启动两个应用的问题(一)
- Android应用程序组件的启动方式
- Android ListView复杂使用方式简单理解
- 简单说说android的线程封装
- android build 过程 (ramdisk.img、sytem.img、userdata.img)和 启动过程简单分析
- Android开发学习笔记(2):Service的简介和启动方式
- android隐式intent及启动方式
- Android中帧动画在Activity启动时自动运行的几种方式
- 简单android Service 创建与启动示例
- 简单说说Android G-sensor 的优化
- android 简单的存储方式SharedPreferences
- Android 数据存储的一种最简单的方式 SharedPreferences
- Android HAL实现的三种方式(1) - 基于JNI的简单HAL设计 推荐
- [Android][UI]模拟器启动界面动画效果的简单实现
- 简单说说android的线程封装
- 关于android创建快捷方式会启动两个应用的问题(二)