Activity创建和销毁的管理类

ActivityManager

这是一个记录Activity创建和销毁Activity的管理类

public class ActivityManager {
    private List<Activity>  mActivities = new ArrayList<>();
    public static  ActivityManager  activityManager;
    private ActivityManager(){

    }
    public static ActivityManager getInstance(){
        if(activityManager == null){
            synchronized (ActivityManager.class){
                if(activityManager == null){
                    activityManager = new ActivityManager();
                }

            }
        }
        return activityManager;
    }
    public void addActivity(Activity activity){
        if(!mActivities.contains(activity)){
            mActivities.add(activity);
        }
    }
    public void finishActivity(Activity activity){
        for(Activity activity1: mActivities){
            if(activity1 == activity){
                activity1.finish();
            }
        }

    }
    public void finishAllActivity(){
        for(Activity activity1: mActivities){
            activity1.finish();
        }
    }
}

杀掉当前进程:

在onDestroy方法中杀掉当前进程

//杀掉当前进程
Process.killProcess(Process.myPid());

如何安全退出多个activity

1、抛异常强制退出:
该方法通过抛异常,使程序Force Close。验证可以,但是,需要解决的问题是,如何使程序结束掉,而不弹出Force
Close的窗口。
2、记录打开的Activity:
每打开一个Activity,就记录下来。在需要退出时,关闭每一个Activity即可。
3、发送特定广播:
在需要结束应用时,发送一个特定的广播,每个Activity收到广播后,关闭即可。
4、递归退出
在打开新的Activity时使用startActivityForResult,然后自己加标志,在onActivityResult中处理,递归关闭。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值