`
zhanglfat
  • 浏览: 91428 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

处理多个Activity

 
阅读更多


public class LifecycleManager {
private static Stack<Activity> activityStack;

private static LifecycleManager instance;

private LifecycleManager() {
}

public static LifecycleManager getLifecycleManager() {
if (instance == null) {
instance = new LifecycleManager();
}
return instance;
}
public void popActivity() {
Activity activity = activityStack.lastElement();
if (activity != null) {
activity.finish();
activityStack.remove(activity);
activity = null;
}
}
public void pushActivity(Activity activity){
if (activityStack == null) {
activityStack  = new Stack<Activity>();
}
activityStack.add(activity);
}
public void popActivity(Activity activity){
if(activity!=null){
activity.finish();
activityStack.remove(activity);
activity=null;
}
}
public Activity currentActivity(){
if(activityStack.size() == 0){
return null;
}
Activity activity = activityStack.lastElement();
return activity;
}
public void popAllActivityExceptOne(Class<?> cls){
while(true){
Activity activity = currentActivity();
if(activity==null){
break;
}
if(activity.getClass().equals(cls) ){
break;
}
popActivity(activity);
}
}
public void exitApp(){
while(true){
Activity activity = currentActivity();
if(activity==null){
break;
}
popActivity(activity);
}
}
}
分享到:
评论

相关推荐

    android 多个activity加载多张大图内存处理

    本文将深入探讨如何在Android中有效地处理多个Activity加载多张大图的内存管理。 首先,我们需要理解Android中的Bitmap对象是如何消耗内存的。Bitmap对象会将图片数据存储在内存中,特别是高清或大尺寸的图片,会...

    一个activity中多个handler和消息的处理过程

    本文将深入探讨在一个Activity中如何管理和处理多个Handler以及它们的消息流程。 首先,Handler是Android中的一个关键组件,它允许我们通过Message对象在不同的线程之间传递数据和执行任务。通常,我们在主线程(UI...

    android tabhost tab内多个activity的跳转及返回

    接下来,我们讨论如何在一个Tab内处理多个Activity的跳转。每个Tab通常会对应一个主Activity,而这个主Activity可以根据需要启动其他子Activity。为了实现这一功能,你可以在主Activity中监听Tab的点击事件,然后...

    Android Activity设置相同的action进行判断源码.rar

    总之,处理多个Activity响应相同action的情况是Android开发中的常见问题。理解Intent Filter、action匹配、优先级以及launchMode的概念,可以帮助你有效地控制和管理Activity的启动行为。通过学习和实践提供的源码,...

    android多个activity和一个service通信

    在实际项目中,常常需要多个Activity与一个Service进行通信,比如本例中提到的“service在后台下载”场景。这种通信机制对于实现应用的流畅性和功能完整性至关重要。 首先,我们来看如何创建和启动一个Service。...

    Android学习笔记(七):多个Activity和Intent.doc

    本篇笔记将详细阐述如何处理多个Activity以及如何使用Intent进行数据传递。 首先,当我们需要在应用中使用多个Activity时,每个Activity都需要在`AndroidManifest.xml`文件中注册。注册不仅让系统知道你的应用包含...

    Service与多个Activity交互

    当一个Service需要与多个Activity进行数据交换或控制交互时,Broadcast(广播)就起到了关键的作用。 **Broadcast(广播):** BroadcastReceiver是Android系统中的一个重要组件,它用于接收系统或应用发送的广播...

    Android 一次启动多个Activity (TaskStackBuilder)

    "Android一次启动多个Activity (TaskStackBuilder)"这个话题涉及到Android的Task和Back Stack管理,以及如何利用TaskStackBuilder实现从通知启动多级Activity并保持正确的返回流程。下面将详细阐述这一知识点。 ...

    多个Activity管理的例子

    一个应用程序可能包含多个Activity,每个Activity对应不同的功能或界面。本示例将深入探讨如何在Android项目中有效地管理和协调多个Activity。 首先,理解Activity生命周期是管理多个Activity的基础。Activity有七...

    使用ViewModel解决多个Activity数据共享问题(Kotlin版)

    在Android应用开发中,尤其是使用Kotlin作为主要编程语言时,如何有效地在多个Activity之间共享数据是一个常见的挑战。`ViewModel`是Android架构组件之一,它为了解决这个问题提供了优雅的解决方案。本文将深入探讨...

    用ActivityGroup解决TabHost中多个Activity跳转问题

    为了解决这些问题,开发者引入了ActivityGroup,它允许在一个TabHost内嵌套多个Activity,使得在同一层级的Activity间切换更为便捷。 ActivityGroup是Android提供的一个特殊类型的Activity,它允许我们在一个...

    android使用ViewPager实现底部菜单栏和左右滑动效果,加载多个Activity

    通过以上步骤和注意事项,你将能够成功地在Android应用中实现底部菜单栏与ViewPager的结合,达到左右滑动切换多个Activity或Fragment的效果。这种设计模式在许多应用中都得到了广泛应用,提高了用户体验和交互性。

    Activity中的多个Handler处理机制

    当我们需要在一个`Activity`中处理来自不同线程的消息时,可能会创建多个`Handler`实例。本文将深入探讨在`Activity`中如何有效地管理并使用多个`Handler`来处理消息,以及它们的工作原理。 1. **Handler的基本原理...

    Tab Layout 之多个Activity实现

    在本教程中,我们将深入探讨如何在不使用Fragment的情况下,使用多个Activity来实现这一功能。这种方式虽然相对传统,但在某些情况下仍然有用,特别是对于Android SDK早期版本的兼容。 首先,我们需要理解`Activity...

    一个Activity中多个ListView的整体滑动

    当一个Activity需要显示多个列表数据时,通常会用到ListView组件,因为它可以高效地展示大量数据并支持滚动操作。本篇文章将深入探讨如何在一个Activity中实现多个ListView的整体滑动,并且每个ListView使用自定义...

    多个Activity跳转的小结

    本文将对多个Activity间的跳转进行详细讲解,并结合源码分析其内部机制。 一、Intent:Activity跳转的核心 在Android中,Intent是启动服务、广播或Activity之间通信的“意图”对象。在Activity跳转中,Intent起着...

    多个Activity之间的交互(后一个传回前一个)

    当我们在一个应用中涉及到多个Activity时,通常需要在它们之间进行数据传递和交互,以便实现不同界面间的功能流转。本篇文章将深入探讨如何在Android中实现后一个Activity向前一个Activity传递数据并进行交互。 ...

    Android高级应用源码-ViewPager仿微信分页导航,多Activity载入.zip

    在实现过程中,关键点在于如何处理多个Activity的加载和切换。通常情况下,我们建议使用Fragment来管理界面,因为它们可以更好地适应屏幕尺寸的变化和内存管理。然而,本项目选择使用多个Activity,可能是为了模拟...

    在一个Activity中更新操作另一个Activity的内容

    当我们需要在一个Activity中更新另一个Activity的内容时,直接操作是不允许的,因为Android系统的设计原则是Activity之间应该是松耦合的。本示例将探讨如何在不违反这一原则的情况下,通过广播或者共享Handler来实现...

    Android代码-从注册流程分析如何安全退出多个Activity多种方式.rar

    在Android应用开发中,正确管理和安全退出多个Activity是至关重要的,因为这直接影响到用户体验和应用的内存管理。本文将从Android的生命周期出发,深入解析如何在不同场景下安全地结束Activity,以确保应用的稳定性...

Global site tag (gtag.js) - Google Analytics