Android app被回收之后会导致的问题

作者: 超威蓝猫l | 来源:发表于2017-12-06 17:03 被阅读0次

    当android app被回收之后,再次点击图标会回到最后打开的页面,但是一些数据已经被回收了,直接打开可能会报空指针异常之类的,我们可以判断是否被回收,然后重启app

    public class StatusHolder{
      public class StatusHolder {
        private static StatusHolder mInstance;
        private boolean isKill = true;
    
        public boolean isKill() {
            return isKill;
        }
    
        public void setKill(boolean kill) {
            isKill = kill;
        }
    
        private StatusHolder() {
    
        }
    
        public static StatusHolder getInstance() {
            if (mInstance == null) {
                synchronized (StatusHolder.class) {
                    if (mInstance == null) {
                        mInstance = new StatusHolder();
                    }
                }
            }
            return mInstance;
        }
    }
    }
    

    再BaseActivity的oncreate里面判断是否是loadingActivity,如果不是的话就判断是不是已经被回收,被回收就重启app

    if (mActivity instanceof LoadingActivity) {
                StatusHolder.getInstance().setKill(false);
            }else {
                if(StatusHolder.getInstance().isKill()) {
                    LogUtils.e("app was kill");
                    Intent intent = new Intent(this, LoadingActivity.class);
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
                    startActivity(intent);
                }else {
                    LogUtils.d("app was normal");
                }
            }
    

    首先判断是不是初始化的页面 是的话就设置是否被杀为false,如果不是初始化页面就判断是否被杀,被杀就重启

    相关文章

      网友评论

        本文标题:Android app被回收之后会导致的问题

        本文链接:https://www.haomeiwen.com/subject/itdlixtx.html