Static 变量引发的NullPointerException

android 编程中我们经常会使用到static变量

static的变量属于类本身,所有的实例的调用的静态变量的值都是一样的;在一个类里改变了一个静态变量的值的话所有的实例在调用这个值的时候就全都发生了变化。

static在虚拟机中单独占用内存,在不同的包和类中都能使用,很方便。

但是这样也会导致当应用长时间处于后台,被强杀后,出现NullPointerException的异常。

因为android的home键,位于后台长时间,或者由于内存不足应用被强杀,会保持activity的栈信息,当我们回到前台的时候,该activity会重新进行onCreate进行初始化操作,如果操作中包含了对其他类的静态变量的引用,而应用被强杀后该静态变量的实例被虚拟机回收,这样就会引发空指针。

猜你喜欢

转载自blog.csdn.net/omyrobin/article/details/50866136