当我写我的单例时,我总是getInstance(Context)在单例类中提供一个方法。但是我应该将哪个上下文对象传递给该方法:Activity 上下文(this在 Activity 类中)或Application Context?如果我通过一个或另一个会有什么不同?
为了说明,我有一个数据库管理器,其 getInstance 方法定义如下:
public static Database getInstance(Context context) {
if (Database.instance == null)
instance = new Database(context);
return instance;
}
Run Code Online (Sandbox Code Playgroud)
构造函数看起来像:
private Database(Context context) {
this.sqLiteDatabase = context.openOrCreateDatabase(...);
}
Run Code Online (Sandbox Code Playgroud)