Android的Activity的机制就是一个堆栈的过程,在我们的实际的使用当中,可能需要在进行某些操作的时候关闭掉一些特定的Activity,例如在退出app的时候需要关闭掉所有已经开启的activity。原理很简单使用一个堆栈用来存储Activity,在需要记录的生命周期当中记录已经打开的Activity(如oncreate方法),在不需要时pop掉,在需要关闭的时候直接一个循环关掉所有的Activity。直接上代码 :
public class MyActivityManager {
private Stack<Activity> activityStack;
private static MyActivityManager instance;
/**
* 实例化方法
* @return
*/
public static MyActivityManager getInstance() {
if (instance == null) {
instance = new MyActivityManager();
}
return instance;
}
private MyActivityManager() {
activityStack = new Stack<Activity>();
}
/**
* 出栈
*/
public void popActivity() {
activityStack.pop();
}
/**
* 进栈
* @param activity
*/
public void pushActivity(Activity activity) {
activityS