Android 在Activity中销毁其他指定的一个Activity

在Android开发中给我们会遇到一个问题.

举个栗子,比如登录页面   我在个人中心页面跳转到A页面让用户输入账号,B页面输入密码,C页面登录,虽然市面上不会有这么脑残的App,所以说我们只是举一个栗子.

可能直接上图会更加形象一点.

比如我在个人中心页面跳转到A页面,输入完账号之后,到B页面,用户到了B页面,发现A页面的账号输入错误了,要返回,所以我在A跳B的时候就不能将A页面销毁,在B页面的,输入完毕密码之后,跳转到C页面去登录,当然登录完毕之后要回到个人中心页面,但是现在我们的输入账号的A页面还没有销毁,直接finish掉C页面的话会回到A页面.就达不到我们的初衷了.

 

public class DestroyActivityUtil {

    private static Map<String, Activity> destoryMap = new HashMap<>();

    //将Activity添加到队列中
    public static void addDestoryActivityToMap(Activity activity, String activityName) {
        destoryMap.put(activityName, activity);
    }

    //根据名字销毁制定Activity
    public static void destoryActivity(String activityName) {
        Set<String> keySet = destoryMap.keySet();
        LogUtil.i(keySet.size());
        if (keySet.size() > 0) {
            for (String key : keySet) {
                if (activityName.equals(key)) {
                    destoryMap.get(key).finish();
                }
            }
        }
    }

}

添加方法


        DestroyActivityUtil.addDestoryActivityToMap(SubmitTaskResultActivity.this, "SubmitTaskResultActivity");

销毁方法


                        DestroyActivityUtil.destoryActivity("SubmitTaskResultActivity");


之前用的是静态赋值,然后直接调用静态的会造成内存泄漏

现在好了,改成这种方式,,这样就可以将指定的Activity销毁了

 

 

 

 

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值