天天看點

Android 退出所有的Activity

/**
 * Created by SunPengCheng
 * on 2017/8/24
 * 郵箱:[email protected].
 */

public class BaseApplication extends Application {
    //運用list來儲存們每一個activity是關鍵
    private List<Activity> mList = new LinkedList<Activity>();
    //為了實作每次使用該類時不建立新的對象而建立的靜态對象
    private static BaseApplication instance;
    //構造方法
    private BaseApplication(){}
    //執行個體化一次
    public synchronized static BaseApplication getInstance(){
        if (null == instance) {
            instance = new BaseApplication();
        }
        return instance;
    }
    // add Activity
    public void addActivity(Activity activity) {
        mList.add(activity);
    }
    //關閉每一個list内的activity
    public void exit() {
        try {
            for (Activity activity:mList) {
                if (activity != null)
                    activity.finish();
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            System.exit(0);
        }
    }
    //殺程序
    public void onLowMemory() {
        super.onLowMemory();
        System.gc();
    }
           
添加需要結束的Activity:BaseApplication.getInstance().addActivity(this);
           

調用結束:

BaseApplication.getInstance().exit();