其实这个理论上应该是学习活动的时候就应该入手的,但是由于学校的老师选择了别的教材没有说,所以我又去找了《第一行代码》中的文章
当我们创建活动比较多的时候,手动关闭软件是比较困难的,比如我新建了三个活动,从第一个一直点到第三个,那么如果我要一口气关掉呢?
这个时候我就需要连续点三次放回键才可以,显得非常不好用
其实只要创建一个专门的集合类对所有的活动进行管理就可以了
新建一个ActivityCollector类
public class ActivityCollector {
public static List<Activity> activities = new ArrayList<>();
//添加活动
public static void addActivity(Activity activity){
activities.add(activity);
}
//移除活动
public static void removeActivity(Activity activity){
activities.remove(activity);
}
//活动全销
public static void finishAll(){
for(Activity activity : activities){
if(!activity.isFinishing()){
activity.finish();
}
}
}
}
在这里面,我们通过一个List来暂存活动,然后提供了addActivity来添加活动,提供了removeActivity来移除活动
更重要的是,添加了一个finishAll来移除List里面的所有活动
不管你想在什么地方退出程序,只需要调用 ActivityCollector.finishAll()方法就可以了
添加活动
添加活动就直接在onCreate()中调用
ActivityCollector.addActivity(this);
关闭活动
直接在onDestry()中调用
ActivityCollector.removeActivity(this);
销毁全部活动
ActivityCollector.finishAll();