为了账号安全,请及时绑定邮箱和手机立即绑定

在Android中使用静态变量

在Android中使用静态变量

慕斯709654 2019-08-13 10:52:51
在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中。


查看完整回答
反对 回复 2019-08-13
?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

我不确定这种方法是否适用于您可用内存有限的移动平台。更不用说该应用程序将在支持多任务的设备上运行。

我认为,这种方法可能会从设备中占用内存,但我没有文档支持这一点。或许比我受过更多教育的人可以分享他们的想法。


查看完整回答
反对 回复 2019-08-13
  • 3 回答
  • 0 关注
  • 630 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信