可能的解决方法是使用单例模式,确保只有一个AppDatabase实例。此外,您还可以确保在应用程序的整个生命周期内使用相同的实例。
以下是一个使用单例模式的Java代码示例:
public class AppDatabase {
private static AppDatabase sInstance;
public static synchronized AppDatabase getInstance(Context context) {
if (sInstance == null) {
sInstance = Room.databaseBuilder(context.getApplicationContext(),
AppDatabase.class, "mydatabase")
.build();
}
return sInstance;
}
}
在上面的示例中, AppDatabase类只能在整个应用程序中实例化一次,以确保在整个应用程序生命周期的任何地方都使用同一个实例。
您可以使用以下方式初始化AppDatabase:
AppDatabase db = AppDatabase.getInstance(context);
调用getInstance()方法时,如果sInstance为null,它将创建一个新的AppDatabase实例。否则,它只是返回已经存在的实例。