以及我们大多数人熟悉的模式:
public class MySingeltone {
public String mSomeReferenceTypeData;
public int mSomeValueTypeData;
private static MySingeltone mInstance;
private MySingeltone() {
}
public static MySingeltone getInstance() {
if (mInstance == null) {
mInstance = new MySingeltone();
}
return mInstance;
}
}
我的问题是,我最近发现mInstance用做他被破坏,或活动后不等于空当整个应用程序假设是从句,例如:
public class SomeActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MySingeltone mySingeltone = MySingeltone.getInstance();
mySingeltone.mSomeReferenceTypeData = "some value";
}
}
启动关闭运行活动的全应用程序后,“SomeActivity”下一次的时候(比如10秒后..)的mInstance仍持有相同的参考,在他的领域相同的值。
为什么会发生?
我缺少什么?
当Android的垃圾回收静态成员属于应用程序?