清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
解决思路:
1、建立List集合,将所有的Acitivty 都存进,集合里——private List<Activity> activityList = new LinkedList<Activity>();
2、结束整个应用程序时,将遍历集合,将Activity 逐个 kill 。
下面是具体实现代码:
import java.util.LinkedList; import java.util.List; import android.app.Activity; import android.app.Application; public class ActivityManager extends Application { //建立链表集合 private List<Activity> activityList = new LinkedList<Activity>(); //用单例模式,保证,这个ActivityManager 在整个应用中只有一个 private static ActivityManager instance; private ActivityManager() { } public static ActivityManager getInstance() { if (instance == null) { instance = new ActivityManager(); } return instance; } //向链表中,添加Activity public void addActivity(Activity activity) { activityList.add(activity); } //结束整个应用程序 public void exit() { //遍历 链表,依次杀掉各个Activity for (Activity activity : activityList) { if (!activity.isFinishing()) { activity.finish(); } } //杀掉,这个应用程序的进程,释放 内存 int id = android.os.Process.myPid(); if (id != 0) { android.os.Process.killProcess(id); } } }
具体使用的时候,需要,在每一个Activity中,获取 ActivityManager 的实例,然后,将Activity,添加到,List 中。
1、获取 ActivityManager 的实例对象:
ActivityManager exitM = ActivityManager.getInstance();
2、添加各个 Activity
exitM.addActivity(MainActivity.this);
关闭整个应用程序的时候,只需要,最后一句:
exitM.exit();
便可 大功告成!