大家好,我按手机的HOME键,把我的程序切到后台,等待几个小时之后,把我的程序切到前台,界面显示虽然正常,但是发现一些全局变量都被清掉了(例如一些单件都变成了null)。
这是什么原因造成的啊?这个问题该如何解决啊?请大家帮忙解决,谢谢。

解决方案 »

  1.   

    被回收了,具体请看android官网,看看activity的生命周期
      

  2.   

    进度被系统KILL了,你应该在onSaveInstanceState中用Parcelable来记录当前状态,在onCreate中先判断一下savedInstanceState是否不为NULL,不为NULL则是状态恢复。
      

  3.   

    怎样才能不被系统回收呢?
    或者怎样才能不被系统KILL掉呢?
    谢谢。
      

  4.   

    我个人认为无法真正保证你的应用不会被系统KILL,网上很多方法试过都还是有可能被回收的。
    如果是你这样的需求,可考虑持久化到sqlite或写到sdcard什么的
      

  5.   

    你代码里面做null的判断,如果为空则重新初始化