在Android中使用静态变量在android中,使用静态变量是推荐的做法吗?例如,在Java中实现Singleton模式,我通常会这样做:private static A the_instance;public static A getInstance() {
if (the_instance == null) {
the_instance = new A();
}
return the_instance;}此外,Android JVM何时清理它?谢谢。
3 回答
杨__羊羊
TA贡献1943条经验 获得超7个赞
static
字段Class
作为一个整体附加到实例,而后者又附加到ClassLoader
加载类的实例上。the_instance
将在整个ClassLoader
回收时卸载。我90%肯定当Android破坏应用程序时会发生这种情况(不是当它进入后台,或暂停,但完全关闭时。)
所以,只要你的应用程序运行,就把它想象成生存。Singleton是个好主意吗?人们有不同的看法。我认为,如果使用得当,我自己也没关系。我认为答案在Android上没有太大变化。内存使用本身不是问题; 如果你需要在内存中加载一堆东西,这或者是一个问题,或者不是,不管你是否将数据封装在Singleton中。
翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
我不确定这种方法是否适用于您可用内存有限的移动平台。更不用说该应用程序将在支持多任务的设备上运行。
我认为,这种方法可能会从设备中占用内存,但我没有文档支持这一点。或许比我受过更多教育的人可以分享他们的想法。
添加回答
举报
0/150
提交
取消