如何销毁Android Room数据库实例?

如何销毁Android Room数据库实例?,android,android-room,android-architecture-components,Android,Android Room,Android Architecture Components,我正在创建一个数据库,如下代码所示 Room.databaseBuilder(MyApp.getInstance().getApplicationContext(), MyDatabase.class, "my-room-database").build(); 我想删除所有的数据,表和数据库本身,如果可能的话,当用户退出应用程序时,因为存储的数据是该用户的个人数据 在用户注销时,我尝试执行以下操作,但不起作用 public static void destroyInstance() {

我正在创建一个数据库,如下代码所示

Room.databaseBuilder(MyApp.getInstance().getApplicationContext(), MyDatabase.class, "my-room-database").build();
我想删除所有的数据,表和数据库本身,如果可能的话,当用户退出应用程序时,因为存储的数据是该用户的个人数据

在用户注销时,我尝试执行以下操作,但不起作用

public static void destroyInstance() {
    if(petCareDatabase != null) {
        petCareDatabase.clearAllTables();
    }
    petCareDatabase = null;
}

有人能在需要时帮我找到清理数据库的正确方法吗。

创建一个公共静态实例方法,使数据库实例为空

public abstract class DepotDatabase extends RoomDatabase { private static AppDatabase INSTANCE; public abstract UserDao userDao(); public static AppDatabase getAppDatabase(Context context) { if (INSTANCE == null) { INSTANCE = Room.databaseBuilder(context.getApplicationContext(), AppDatabase.class, "user-database") .allowMainThreadQueries()//Use Caution here .build(); } return INSTANCE; } public static void destroyInstance() { INSTANCE = null; } } 然后在主活动或使用它的活动中

@Override protected void onDestroy() { AppDatabase.destroyInstance(); super.onDestroy(); }
选中此项@NileshRathod无法找到任何可删除/销毁数据的内容。我不想去删除每个表中的数据,因为将来表的数量会很大。如果我在MVVM结构中使用它呢?对它的唯一引用是在AndroidViewModel扩展类中完成的。