android 编程中我们经常会使用到static变量
static的变量属于类本身,所有的实例的调用的静态变量的值都是一样的;在一个类里改变了一个静态变量的值的话所有的实例在调用这个值的时候就全都发生了变化。
static在虚拟机中单独占用内存,在不同的包和类中都能使用,很方便。
但是这样也会导致当应用长时间处于后台,被强杀后,出现NullPointerException的异常。
因为android的home键,位于后台长时间,或者由于内存不足应用被强杀,会保持activity的栈信息,当我们回到前台的时候,该activity会重新进行onCreate进行初始化操作,如果操作中包含了对其他类的静态变量的引用,而应用被强杀后该静态变量的实例被虚拟机回收,这样就会引发空指针。
本文深入探讨了Android开发中static变量的特性和应用场景,解释了它如何在类级别上存储信息并被所有实例共享。同时,文章还分析了static变量可能导致的问题,特别是当应用程序在后台运行并被系统终止时,可能会引发的NullPointerException异常。
749

被折叠的 条评论
为什么被折叠?



