Android中Activity的管理

在实际的开发过程中,一个Android应用可能会有多级界面,一般的情况下,都是按返回键逐层从子界面返回,直到第一级界面,再按返回键退出整个应用。
但是在实际的开发过程中,可能会有这样的需求,即我们需要在子界面直接退出整个应用,也即关闭应用中所有没有被销毁的Activity。这实际上是Activity的管理问题。

这里提供一种Activity的管理的方法:
自定义一个Activity的管理类,有一个Activity的列表成员变量用于存放应用中活动的Activity。并且定义添加Activity到列表和从列表中移除Activity的方法。

public class ActivityManager{
public static List<Activity> activityList=new ArrayList<Activity>();
/*将某个Activity添加到列表中*/
public static void addActivity(Activity activity){
      activityList.add(activity);
}
/*将某个Activity从列表中移除*/
public static void removeActivity(Activity activity){
       activityList.remove(activity); 
}
/*finish掉列表中所有的Activity*/
public static void finishAllActivity(){
    for(Activity activity:activityList){
            if(activity!=null){
                activity.finish();
            }
     }
}
}

上面是一个Activity的管理类的定义。
这样在应用程序中的所有Activity的onCreate周期函数中调用addActivity方法将Activity添加到列表中,在Activity的onDestory方法中调用removeActivity方法将Activity从列表中移除。这样列表中保存的始终是应用中活动的Activity。
如果我们需要在某个界面直接退出整个应用,可以调用finishAllActivity方法finish调所有的Activity。

你可能感兴趣的:(android,activity管理)