如果用户长时间的离开一个任务,那么系统会清除这个任务根Activity以外的所有Activity。当用户再次返回这个任务时,只有根Activity被存储。系统行为的这种方式是因为经过长时间以后,用户在返回这个任务之前可能已经放弃它们的作业,而开始了某些新的任务。
你能够使用一些Activity属性来修改这种行为:
1.alwaysRetainTaskState
如果这个属性在一个任务的根Activity中被设置为“true”,那么像上面描述的那样的默认行为就不会发生。即使是长时间之后,这个任务也会在它的堆栈中保留所有的Activity。
2.clearTaskOnLaunch
如果这个属性在一个任务的根Activity中被设置为“true”,那么无论用户什么时候离开和返回这个任务,堆栈都会被清除到根Activity的位置。换句话说,它与alwaysRetainTaskState属性相反,用户总是返回到任务的初始状态,即使只离开这个任务一会儿。
3.finishOnTaskLaunch
这个属性有点像clearTaskOnLaunch属性,但是它只操作单个Activity,而不是整个任务。它也能导致任何Activity离开,包括根Activity。当这个属性设置为“true”时,这个Activity只保持着这个任务中当前会话那部分。如果用户离开,然后再返回这个任务,那么它就不再存在了。
注:本人转载系个人觉得翻译的很好,值得收藏,且自己回头看着方便。
如有兴趣请访问作者官方博客http://blog.csdn.net/FireOfStar
分享到:
相关推荐
android 任务跟回退堆栈
总结来说,`InstaLikeFragmentTransaction`库为Android开发者提供了一种高效且优雅的方式来实现在底部选项卡导航中保留Fragment的回退堆栈历史。它简化了代码,提高了可维护性,并确保了用户体验的一致性。通过熟练...
Android提供了一种叫做“回退栈”(Back Stack)的概念,即当用户点击设备的返回键时,系统会从当前Activity弹出,恢复上一个Activity,这就是任务的回退操作。在任务栈中,Activity的顺序反映了用户的历史操作路径...
开发者需要熟练运用FragmentManager和FragmentTransaction来管理Fragment的生命周期,同时注意处理好回退栈,以实现流畅的用户导航体验。通过合理地组织Fragment堆栈,可以使应用的逻辑更加清晰,代码更易于维护。
总的来说,理解如何在Android中管理和利用Activity堆栈以及选择合适的方法(如ActivityGroup或Fragment)来实现自定义回退功能,对于开发具有深度导航的应用至关重要。随着Android API的不断更新,开发者应始终关注...
这包括监听和处理手机的物理返回键事件,以及优化内置的导航回退功能。本文将详细介绍如何在Ionic 3中实现这些功能,特别是在处理子页面、弹出框和多层回退操作时。 首先,我们需要理解Ionic 3的导航架构。Ionic...
支持Git和其他版本控制系统,开发者可以方便地进行版本控制操作,如提交、回退、分支管理和合并。 ### 8. **单元测试与UI测试** Android Studio内置JUnit和 Espresso测试框架,支持编写单元测试和UI测试,确保代码...
1. **Android任务和任务管理器** - **任务(Task)**:在Android中,任务是一系列按堆栈方式组织的Activity,它们共享相同的上下文,用户可以通过返回键逐个回退。任务可以看作是用户完成一项操作的一组界面。 - *...
这个库的目标是帮助开发者更有效地管理和维护与底部导航栏关联的各个Fragment的回退栈。 在传统的Android应用中,如果一个底部导航栏有三个或更多的选项卡,每个选项卡通常对应一个Fragment,那么在用户在这些选项...
1. **Activity Manager**:负责管理所有应用程序生命周期和通常的导航回退堆栈。 2. **Window Manager**:管理所有屏幕窗口的布局,决定每个窗口的位置和大小。 3. **Content Providers**:提供数据访问机制,使不同...
在安卓(Android)系统中,任务管理器是一个至关重要的组件,它负责监控和管理设备上运行的应用程序和服务。本资源“基于安卓Android的任务管理器源码.zip”提供了一个实现此类功能的源代码实例,这对于理解Android...
- **ActivityStack**:管理单个任务堆栈,处理Activity的添加、移除和回退操作。 3. **内存管理**: - **ActivityManagerNative**:作为AMS的本地接口,它用于跨进程通信,当系统内存紧张时,会根据优先级杀死...
返回栈(BackStack)是Activity堆栈的一部分,用于管理用户的回退操作。当用户按下设备的回退键或通过代码调用finish()方法时,栈顶的Activity会被弹出,前一个Activity就会显示出来。开发者可以通过使用FLAG_...
4. **回退栈可视化**:Medusa可能还提供了工具或日志输出,帮助开发者可视化Fragment的回退栈状态,便于调试和优化。 5. **兼容性和性能优化**:作为一个成熟的开源项目,Medusa通常会考虑与不同版本的Android SDK...
它们决定了新Activity如何被创建和堆栈管理,例如,单任务模式会清除所有栈中处于它之上的Activity,而单实例模式则在整个应用中只创建一个Activity实例。 4. **Activity的回退栈**:Activity的回退栈是系统管理...
简单堆栈库通过提供一种更加结构化和易于管理的方式,解决了传统Android回退栈可能带来的复杂性问题。它支持自定义回退行为,例如拦截和修改回退操作,或者实现非线性的导航路径。 使用简单堆栈,开发者可以: 1. ...