我正在开发一个Android应用程序,其中有一个单例类,如下所示:
public class Classname { private static Classname mobject; public List<Question> mquestionsList; public Classname() { mquestionsList=new ArrayList<Question>(); } public static Classname getInstance() { if (mobject == null) { mobject = new Classname(); } return mobject; } public voID LoadQuestions() { //do somthing }}
现在,每次我想使用该对象时,我只需从其他活动或片段中调用Classname.getInstance().any_method_name()即可直接使用它.
我从不创建对此类对象的任何本地引用,例如:
Classname ref=Classname.getInstance();ref.any_method_name();
=>请告诉我在垃圾收集器将其从内存中删除之前,该对象可以存活多少时间,这是一种好习惯. (无法从其他地方获得答案)
解决方法:
通过调用“ getInstance”方法获得的实例是在“ Classname”类中定义的静态对象.
private static Classname mobject;
直到类“ Classname”保持加载状态,该实例才有资格进行垃圾回收.
如果用于加载“ Classname”的类加载器变为垃圾回收,则将卸载“ Classname”类,并且相应的静态对象也将丢失.
总结以上是内存溢出为你收集整理的java-单例类对象将存在多长时间全部内容,希望文章能够帮你解决java-单例类对象将存在多长时间所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)