`

Activity清除

 
阅读更多
引用
4个Activity,A,B,C,D.
现在页面跳转,由A-B-C-D,
到D后,按return,则会依次返回.D-C-B-A.
如果需要让用户操作方便,直接在D中添加一个button,
可以直接返回到A,这个时候B,C,D就不必存在了,
需要finish掉.如果不finish掉,过多的Activity会出现
内存溢出.
有人肯定会问,每跳转一次都finish一次不得了,如果这样的话,
return键就无实际意义了.或者你可以用startActivityForResult,
如果你不觉得麻烦的话.
最重要的代码:
Intent intent = new Intent(D_Activity.this, A_Activity.class);
				//下一行注释掉后,再试试.
				intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
				startActivity(intent);


分享到:
评论

相关推荐

    android 侧滑消除activity框架

    "android 侧滑消除activity框架",如标题所指,是一种专门用于实现Activity侧滑关闭功能的框架——SlidingFinish。这种框架能够为用户提供更为流畅和直观的操作体验,使得应用程序的界面更加现代化和用户友好。 ...

    Activity四种启动模式

    如果已经存在,则会把当前任务栈中所有位于该Activity之上的Activity清除,然后通过onNewIntent()方法将新意图传递给Activity。这种模式常用于应用的主入口Activity,确保每次启动应用时都是从主界面开始。 4. **单...

    利用GestureDetector关闭activity

    在这个场景中,我们将探讨如何利用`GestureDetector`来实现一个功能:通过向右滑动的手势关闭当前的Activity。 首先,我们需要了解`GestureDetector`的基本使用步骤: 1. 创建`GestureDetector`实例:创建一个`...

    退出Android程序时清除所有activity的实现方法

    本实例探讨了一种确保在退出程序时清除所有Activity的有效方法,避免内存泄漏和程序异常状态。以下是对该方法的详细解释: 首先,我们需要理解Android Activity的生命周期。Activity在用户交互过程中经历创建...

    安卓Andriod源码——模拟Activity进出栈.zip

    AMS会根据FLAG_ACTIVITY_*系列标记来决定Activity的启动行为,例如FLAG_ACTIVITY_NEW_TASK会创建新的任务栈,而FLAG_ACTIVITY_CLEAR_TOP会将栈中位于目标Activity之上的所有Activity清除。这些标志可以在Intent中...

    android的Activity之间的切换

    例如,FLAG_ACTIVITY_NEW_TASK会使得新的Activity在新的任务栈中启动,而FLAG_ACTIVITY_CLEAR_TOP则会把栈顶的Activity清除,使得被启动的Activity成为栈顶。 通过上述步骤,我们可以实现Android应用中Activity之间...

    Activity返回到指定Activity页面Demo

    FLAG_ACTIVITY_CLEAR_TOP:当启动一个已经存在于栈中的Activity时,会清除该Activity之上的所有其他Activity。这样,当我们回到指定Activity时,它会出现在栈顶,而栈中的其他Activity将被移除。这个标志常用于用户...

    Activity review activity之间的数据传递

    这种方法需要注意的是,由于数据不会随Activity的销毁而清除,可能会导致内存泄漏。 五、ContentProvider:共享复杂数据 对于更复杂的数据结构,如数据库内容,ContentProvider是理想的解决方案。ContentProvider...

    7.四大组件之Activity.pptx

    3. **SingleTask**:在新的任务栈中启动 Activity,如果有已存在的实例,会将其栈内的所有 Activity 清除并调用 `onNewIntent()`。 4. **SingleInstance**:在单独的任务栈中启动 Activity,确保它是唯一实例。 ...

    Activity之间的跳转项目案例实现

    单任务模式会清除所有在其之上的Activity,使指定Activity成为栈底唯一实例。单栈顶模式则是在栈顶已经有该Activity实例时,不会创建新的,而是复用已有的。 在Activity之间跳转并传递数据,我们通常使用Intent对象...

    activity的启动方式

    `FLAG_ACTIVITY_CLEAR_TOP`会清除栈中位于目标Activity之上的所有Activity。 了解这些启动模式后,开发者可以根据应用场景选择合适的启动方式,优化应用的用户体验和性能。例如,避免不必要的实例创建,防止内存...

    activity四大启动方式demo

    单任务模式会清除该Activity之上的所有其他Activity,使当前Activity成为栈底唯一实例。如果Activity不存在,系统会创建新的实例并放入栈底;如果已存在,会将其上所有Activity出栈,然后返回到该Activity。常用于...

    android代码 Activity跳转

    例如,FLAG_ACTIVITY_CLEAR_TOP可以清除栈上所有Activity,FLAG_ACTIVITY_NEW_TASK用于在新的任务栈中启动Activity。 总结,Activity跳转是Android开发中不可或缺的部分,理解Intent、启动模式以及返回结果的处理...

    activity切换

    在`Activitytwo`中,如果需要返回到主Activity,可以使用相似的方式,但这次我们需要添加`FLAG_ACTIVITY_CLEAR_TOP`标志,以便清除栈顶的Activity并回到主Activity: ```java Intent intent = new Intent(this, ...

    activity启动模式测试

    在实际开发中,开发者还可以通过Intent的FLAG_ACTIVITY_*系列标志来进一步调整Activity的行为,如FLAG_ACTIVITY_NEW_TASK用于模拟单任务模式,FLAG_ACTIVITY_CLEAR_TOP可以清除栈中处于目标Activity之上的所有...

    退出所有的Activity

    2. 使用`Intent.FLAG_ACTIVITY_CLEAR_TOP`标志:当使用带有此标志的`Intent`启动一个已经存在的`Activity`时,Android会清除所有位于该`Activity`之上的`Activity`,并将焦点转回给这个`Activity`。这种方法需要结合...

    Android 改变Activity切换方式

    3. `FLAG_ACTIVITY_CLEAR_TOP`:如果目标Activity已经在栈中,那么栈中位于它之上的所有Activity都将被清除,然后调用目标Activity的`onNewIntent()`方法。 4. `FLAG_ACTIVITY_REORDER_TO_FRONT`:如果目标Activity...

    一个Activity跳转到另外一个Activity

    代码主要实现从一个Activity跳转到另外一个Activity

    Activity之间的Intent跳转

    比如,`FLAG_ACTIVITY_NEW_TASK`用于在新的任务中启动Activity,`FLAG_ACTIVITY_CLEAR_TOP`则会清除栈顶到目标Activity的所有Activity。 6. **结果回调**: 如果需要从启动的Activity得到返回结果,可以使用`...

Global site tag (gtag.js) - Google Analytics