mic*_*ael 56 java android dalvik
在android中,使用静态变量是推荐的做法吗?例如,在Java中实现Singleton模式,我通常会这样做:
private static A the_instance;
public static A getInstance() {
if (the_instance == null) {
the_instance = new A();
}
return the_instance;
}
Run Code Online (Sandbox Code Playgroud)
此外,Android JVM何时清理它?
谢谢.
Sea*_*wen 63
static字段Class作为一个整体附加到实例,而后者又附加到ClassLoader加载类的实例上.the_instance将在整个ClassLoader回收时卸载.我90%肯定当Android破坏应用程序时会发生这种情况(不是当它进入后台,或暂停,但完全关闭时.)
所以,只要你的应用程序运行,就把它想象成生存.Singleton是个好主意吗?人们有不同的看法.我认为,如果使用得当,我自己也没关系.我认为答案在Android上没有太大变化.内存使用本身不是问题; 如果你需要在内存中加载一堆东西,这或者是一个问题,或者不是,不管你是否将数据封装在Singleton中.
use*_*239 15
我认为静态变量是可以的.
这就是Android doc所说的:
http://developer.android.com/guide/appendix/faq/framework.html
如何在单个应用程序中的活动/服务之间传递数据?
公共静态字段/方法
使活动/服务可访问数据的另一种方法是使用公共静态字段和/或方法.您可以从应用程序中的任何其他类访问这些静态字段.要共享一个对象,它创建的对象的活动设置一个静态字段指向这个对象和要使用这个对象只是访问该静态字段的任何其他活动.
| 归档时间: |
|
| 查看次数: |
78570 次 |
| 最近记录: |