单例模式的三要点:
1、某个类只能有一个实例。
2、它必须自行创建这个实例。
3、它必须自行向整个系统提供这个实例。
private static BaseAppsBaseApp;
public static BaseApp getInstance(){
if(sBaseApp==null){
synchronized (BaseApp.class){
if (sBaseApp==null) {
sBaseApp=new BaseApp();
}
}
}
return sBaseApp;
}
单例设计模式一起的内存泄漏,单例设计模式的静态特性会使他的生命周期和应用程序的生命周期一样长,这就说明了如果一个对象不在使用了,而这时单例对象还在持有该对象的引用,这时GC就会无法回收该对象,造成了内存泄露的情况。所以使用单例模式时,传入的context应该使用ApplicationContext
网友评论