当按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=""这一行代码即可;

猜你喜欢

转载自blog.csdn.net/life_s/article/details/80880975