在Android系统上使用app的时候,经常会暂时退出当前程序,去访问其他应用,这个时候,负责保存全局变量的Application子类实例会被清空为NULL。
虽然google在开发文件推荐使用继承Application的子类保存全局变量的原因是所有Application的子类只会在程序被销毁的时候才会被系统回收,但是做开发的人会发现,在程序点击home健之后,Application的子类实例的变量被设置为null,导致返回程序时,系统查找不到相应变量而强制退出。
目前没有什么好办法,google也没有进一步改善这个状况,最好的办法是把Application当做一个临时存储全局变量的类,而不是一个在应用不死的情况下永久存储的类。
解决问题的方法:需要持久化的数据保存到本地,设置判断条件,如果application.xxx==null,那么从而本地读取。
stackoverflow上讨论这个问题:http://stackoverflow.com/questions/708012/how-to-declare-global-variables-in-android 点击打开链接