我应该在哪里销毁数据库实例?活动中的onDestroy()
或ViewModel中的onCleared()
?
我已经在我的Activity onDestroy()
方法中实现了它:
@Override
protected void onDestroy() {
super.onDestroy();
// if activity being destroyed is not because of config change...
if (isFinishing()) {
AppDatabase.destroyInstance();
}
}
documentation似乎建议应在ViewModel的onCleared()
回调中完成此操作。如果我对活动及其片段使用相同的ViewModel怎么办?然后,onCleared()
方法被调用两次(对于ViewModel的每个实例)。
答案 0 :(得分:0)
您的实现很好。 Activity
被销毁后,您可以释放数据库资源。