这几天处理项目中视频语音偶尔初始化不了的问题,找了半天,发现调用application的content老是传递空的情况,于是查找了下代码发现前任(项目上一个程序员)写的application单例模式如果:
public class App extends Application {
private static App app;
public static App getInstance() {
if (app == null) {
app = new App();
}
return app;
}
}
通常我们需要单例模式 这么写没毛病,但是查阅了下资料发现application还是比较特使的一个类,其本身就是一个单例,这种方法并不适合
参考:http://blog.csdn.net/totond/article/details/72782031
于是改下成如下就好了:
/**
* Created by lilin on 2018年1月6日14:27:05
* func :
*/
public class App extends Application {
private static App mInstance = null;
public static App getInstance() {
return mInstance;
}
@Override
public void onCreate() {
super.onCreate();
mInstance = this;
}
}