activity 变成后台进程后被杀死_App在后台被杀死后重启-重进首页方法

感谢这位哥的思路。

这个问题很常见,基本所有app都会遇到这个问题。但是很多开发者都没有处理。

问题的起因:我的app在进入后台后一段时间,可能被系统干掉了,然后通过多任务键,或者图标再点进去操作,出现xxId为null

经过一番探索发现:

app在被系统干掉后,重新进入,是会实例出所有的界面(因为他们都重写了onsaveInstance方法),但是这个界面所有的变量都变为null了(如果没有自己保存的话)。

解决的办法2种

1.每个页面都去重写onsaveInstace方法,去保存数据(对于老项目来说,这个工程量是非常巨大的)(如果是新项目,建议用一个好的框架,统一处理每一个页面变量的存取)

2.比较取巧的办法就是在被干掉重启的时候,重新进入SplashActivity(也就是启动页)。重走一遍流程,数据也就肯定不会出错了(ios系统上,如果出现被系统干掉的情况,也是采用的这种方法)

本文主要就是介绍第二种办法:

原理:

1.在splashActivity的oncreate时候就设置一个全局的变量值。

2.在baseActivity的oncreate中比较这个变量值是否发生变化(app在后台被干掉后重进,该值会变为默认)

3.如果发生了改变,就重进splashActivity,如果没有就正常处理

工具类一个:

/**

* 这个类的作用是保证app进入后台被系统回收之后,再次进入app时重首页进入。

* 配合splashactivity和baseactivity使用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值