【发布时间】:2016-08-05 17:07:15
【问题描述】:
我目前在我的应用程序中使用 Realm,为了确保我正确管理 Realm 实例,我在我的基础 Activity 中引入了一个像这样的变量:
protected val realm: Realm by lazy {
Realm.getDefaultInstance()
}
然后在 onDestroy 我这样做:
override fun onDestroy() {
super.onDestroy()
realm.close()
}
然后我意识到这是一种浪费。如果当前活动不使用领域,它将在onDestroy 中打开并立即关闭。
所以我更新到这个:
private var usedRealm = false
protected val realm: Realm by lazy {
usedRealm = true
Realm.getDefaultInstance()
}
override fun onDestroy() {
super.onDestroy()
if (usedRealm) {
realm.close()
}
}
没有额外的标志,有没有什么方法可以做到这一点?
【问题讨论】: