1.static的变量或者方法会放在内存的一个方法区内
2.static变量会在该变量所属的类从内存中释放掉之后. 才会释放掉而类释放的条件是非常苛刻的. 必需要该类相应的全部对象被释放掉. 同一时候内存不足的时候, 虚拟机才会释放类. 由于虚拟机会做缓存处理, 方便下次使用该类生成对象有更快的速度. 内存充足的情况是不会释放掉。
3.在安卓中不太建议使用static做为一个须要赋值的变量。由于如今非常多清理内存的程序,比如小米、360等。在清理系统内存的时候都会把static的值清除掉,当你下次再用的时候。这个static的值又会变成你赋值之前的那个值了,这样你的APP就非常easy出现异常或者空指针,建议把全局变量的值保存到SharedPreferences中。这样做比較保险(变量放到Application里,我试过,也会被回收的)。
參考链接:
http://blog.csdn.net/big_man/article/details/41984311
http://www.ibm.com/developerworks/cn/opensource/os-cn-android-mmry-rcycl/index.html
http://blog.csdn.net/veryitman/article/details/6823430
http://blog.csdn.net/ctcwri/article/details/8858414