Android 当按Back键Home键使App退出时遇到的问题

问题

第一个问题:app按两次Back键到桌面,再返回app数据没有置空

  • 项目中有一个全局单例保存的数据 我发现每次当我按下Back键返回,再进入之后App的数据都会递增
    无论我在它的生命周期各个方法里执行清空都没有用?于是翻阅资料 查找后 得到这样一个答案!

仔细阅读下面这句话 可以理解其中的意思

  • 另外在activity中按下back键,实际是调用了finish方法,应用退出。虽然应用已经退出,但进程没有被杀死。
    android中一个应用运行于独立的一个虚拟机实例中,所以在重新启动应用时一个类中的静态对象还保持着运行时
    的状态,注意在合适位置复位这些状态。

  • static变量或是全局单例都存在进程中,不能马上被销毁,仍然保留当前值。为了解决该问题只需要在onCreate
    方法中重新对静态变量赋值即可。

  • 我在单例保存数据的时候 没有重新new 新的集合 而是用的之前的 所以数据一直有问题

  • 如果用的是单例模式储存数据 应该在调用的时候 将 装数据的容器置空 或者 重新new

第二个问题:app按home键到桌面,再返回app不重启app

  • 问题:home键到桌面后,返回app,app重新打开了一遍,但原来的界面还在,只是在原来的界面上覆盖了一层。
    查找答案后,发现很好解决:在AndroidManifest.xml里边,主activity里边。

    去掉:android:launchMode=""这一行代码即可;

与君共勉

我要一步一步往上爬
在最高点乘着叶片往前飞
任风吹干流过的泪和汗
我要一步一步往上爬
等待阳光静静看着它的脸
小小的天有大大的梦想
我有属于我的天
任风吹干流过的泪和汗
总有一天我有属于我的天
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吕氏春秋i

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值