本帖最后由 yjm919 于 2012-06-26 11:07:18 编辑

解决方案 »

  1.   

    如果你的“其它对象”分别在不同的进程里,你需要在每个进程初始化时分别对其application对象自定义变量进行初始化。因为他们访问的不是同一个application对象。
    如果你的对象全都在一个进程里,请检查你的赋值代码,这个帮不了你了。
      

  2.   

    谢谢。
    赋值只有一次。后面就是在activity里调用。而且开始这个值正常,运行一段时间后被null。
      

  3.   

    一般情况下GC不会回收你仍在使用的资源。首先确定你的所有的activity没有在AndroidManifest.xml里用android:process 标签新建进程
    然后,你可以调试一下,在所有对这变量进行赋值的地方进行监控,以判断代码没有给这个变量一个NULL值PS:请确认你没有新开进程,这一点很重要哦
      

  4.   

    与其同时赋值的另一个变量一直正常,那个变量String是几个字节,这个一段时间被null的变量String是32个字节.是在全局的对象中的.两个变量只是开始登录后台时被赋值,后边都是读取.呵呵.看样只能改用sharedPreferences了.
      

  5.   

    噢我也遇到了这个问题。。纠结了大半天之后,我鬼使神差的在全局变量前面加了个static,然后就解决了。我到现在还没想清楚是为什么。
      

  6.   

    谢谢。
    赋值只有一次。后面就是在activity里调用。而且开始这个值正常,运行一段时间后被null。
    这样的话,如果是一个常量,那就定义成static.
      

  7.   

    赋值后,除非你对它进行别的运算后,改变了它的值,可能是对它的引用改变了,没有直接使用这个变量.
    如:定义
    类A:a=1;
    类B:A.a=b;b=2;
    类C:A.a的值就是2了;