`

Activity加载模式和Task的关系

阅读更多

Activity的lanuchMode有四种standard(默认),singleTop,singleTask,singleInstance.

 

standard:每次都创建一个实例,默认将Activity加入到当前Task。

 

singleTop:启动的不是当前的Activity的话,则创建一个实例,并加入当前Task,否则抛弃

 

              Intent不做任何反应

 

singleTask:只有一个Task,不会重新创建已存在的Activity。

 

singleInstance:一个Task里只有一个Activity。启动Acivity时,会重新创建一个Task,并

 

              把Activity加入新建的Task。

 

注意:当一个Activity的新实例被创建去处理新Intent时,用户总是可以按返回键返回到之前

 

的状态(之前的Activity)。但是当一个已存在的Activity实例去处理新的Intent时,用

 

不可以返回键返回到Intent到达之前的状态。

 

清处任务栈:

alwaysRetainTaskState属性: 如果根活动此属性设为true,任务将保留在Task

 

                                                 中。即使离开很长一段时间,也不会被系统清除。

 

                 clearTaskOnLaunch属性:如果根活动此属性设为true,只要用户离开就清除根活

 

                                             动之外的活动。

 

                 finishOnTaskLaunch属性: 作用于单个活动。而且它能移除任何活动,包括根活

 

                                              动。当它被设置为true时,任务本次会话的活动的部

 

                                                             分还存在,如果用户离开并返回到任务,它将不再存在。

 

 

 

用户按下Home键后,再打开一个新的活动。默认重新启动一个Task,若打开一个已开启过

 

的活动,将跳到对应的Task中的对应栈顶。

分享到:
评论

相关推荐

    activity的四种加载模式

    activity的四种加载模式:<!-- 不写的话也默认是standard --> <!-- standard表示每执行一次startactivity就新建一个实例 singleTop表示每次执行startactivity时,如果当前activity在taskstack的顶端,则不...

    Android Activity的四种加载模式区别

    总之,Android的四种Activity加载模式提供了一种灵活的方法来管理Activity实例和任务,帮助开发者实现更高效、更流畅的应用体验。在设计应用程序的导航流程时,充分理解和利用这些模式是非常重要的。

    ActivityTask设计模式

    ActivityTask是怎么进行设计的,以及Activity四种加载模式。

    activity的四种加载模式分析

    Activity 的四种加载模式对于应用程序的导航和行为有着显著的影响。理解这些模式对于优化用户体验和避免意外的行为至关重要: 1. standard 模式是最常见的,每次启动 Activity 都会创建新的实例。这可能导致 Task ...

    android activity和task

    5. Activity的四种加载模式: - 标准模式(Standard):每次启动都会创建新的实例,可以放入任何Task。 - 单实例模式(SingleInstance):在整个系统中只有一个实例,且总是在新的Task中启动。 - 单任务模式...

    Android编程之四种Activity加载模式分析

    本文将详细解析Android编程中的四种Activity加载模式:standard、singleTop、singleTask和singleInstance,帮助开发者更好地理解和掌握Activity的生命周期及切换逻辑。 首先,Activity的状态主要有四种:活动的...

    Activity界面的转化

    启动模式是Activity启动时的一种策略,有四种主要模式:标准模式(Standard)、单实例模式(SingleInstance)、单任务模式(SingleTask)和单栈顶模式(SingleTop)。标准模式是最常见的,每个启动都会创建新的...

    Android使用Activity用作弹出式对话框

    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(intent); ``` 通过这种方式,我们可以使用`Activity`来创建弹出式对话框,提供更多的自定义和交互性。但是要...

    全面解析Android应用开发中Activity类的用法

    意图标志如`FLAG_ACTIVITY_NEW_TASK`和`FLAG_ACTIVITY_CLEAR_TOP`可以影响Activity的启动行为,比如创建新任务或者清理栈内Activity。 8. **Activity的可见性和状态管理**: - `onSaveInstanceState(Bundle)`:当...

    android启动优化的操作,通过启动器task来进行启动优化

    2. **启动模式优化**:合理使用SingleTask、SingleInstance等启动模式,控制Activity在Task中的位置,避免重复创建。 3. **避免后台Task**:确保应用启动时不启动其他无关Task,防止影响主Task的启动速度。 4. **...

    Activity示例代码

    10. **Intent的Flags**:Intent可以设置各种标志,如FLAG_ACTIVITY_NEW_TASK(用于在新的任务栈中启动Activity)和FLAG_ACTIVITY_CLEAR_TOP(用于清除栈顶到目标Activity之间的所有Activity)。 11. **Activity的...

    安卓基本知识只Activity学习源代码

    通过指定Intent的Flag,如`FLAG_ACTIVITY_NEW_TASK`或`FLAG_ACTIVITY_CLEAR_TOP`,可以改变Activity的启动模式,实现不同的导航效果。 综上所述,Activity是Android应用的核心组成部分,理解并掌握其生命周期、...

    Android说明Activity生命周期的代码例子

    然而,通过设置不同的Intent Flag,如FLAG_ACTIVITY_NEW_TASK或FLAG_ACTIVITY_SINGLE_TOP,可以改变Activity的启动模式,实现不同的栈管理效果,比如单实例模式、栈顶复用等。 例如,使用FLAG_ACTIVITY_NEW_TASK...

    Android插件开发,预注册的方式发开插件的Activity

    通过Intent的FLAG_ACTIVITY_NEW_TASK标志和自定义的IntentResolver,宿主应用可以在运行时启动预注册的插件Activity。IntentResolver可以根据传入的Intent信息,选择正确的插件Activity进行启动。 6. **生命周期...

    安卓 activity 生命周期

    Android使用任务(Task)和栈(Back Stack)的概念来管理Activity。当用户打开一个新Activity时,新Activity会被压入栈顶,而之前的Activity则留在栈中。按返回键时,栈顶的Activity被弹出,前一个Activity恢复到`...

    android面试_关于Activity[参照].pdf

    例如,使用Intent.FLAG_ACTIVITY_NEW_TASK启动新的任务栈,使用putExtra()添加额外数据,使用startActivityForResult()启动Activity以获取返回结果等。 四、Activity的管理策略 Android通过Activity栈来管理...

    同一个APK多个icon进入同一个Activity的不同tab页

    1. standard:默认模式,每次启动Activity都会创建一个新的实例,放入任务栈(Task)中。 2. singleTop:如果任务栈顶已经存在该Activity的实例,那么就重用它,不会创建新的实例。否则,会在栈顶创建新的实例。 3. ...

    Android中创建Activity的方法说明.pdf

    - **Activity的栈管理**:Android系统使用任务(Task)和栈(BackStack)来管理Activity。默认情况下,新启动的Activity会被压入栈顶,而回退键会从栈顶弹出Activity。 - **权限管理**:如果Activity需要访问特定...

    【MarsChen】D04_Activity初步

    除此之外,Activity还支持多种特性,如主题(Theme)、栈管理(Task和Back Stack)、透明度和全屏模式等。主题允许开发者自定义Activity的外观,栈管理遵循“后进先出”原则,处理用户返回操作。透明度和全屏模式则...

Global site tag (gtag.js) - Google Analytics