使用Realm和try-with-resources是一个好习惯吗?

时间:2017-05-12 10:42:43

标签: java realm try-with-resources

在许多地方都有建议在Realm.getDefaultInstance()的{​​{1}}方法中调用onCreate,并在Activity(或相应位置)的Realm实例上调用close主持人的方法。

然而,对我来说,使用Java的try-with-resources构造会更清晰:

onDestroy

为什么清洁? IMO可以更轻松地管理try (final Realm realm = Realm.getDefaultInstance()) { // do stuff } 实例的狭窄范围。在生命周期的一个时刻获取实例并在另一个实例中关闭实例,让我想起过去使用C ++的时光,当我们不得不担心在适当的时候调用realm时。

问题是:以这种方式使用Realm是不好的做法?为什么没有教程提到它?

1 个答案:

答案 0 :(得分:8)

  

以这种方式使用Realm是一种不好的做法吗?

不,建议用于后台主题

请参阅官方文档中的https://realm.io/docs/java/latest/#closing-realm-instances

对于UI线程,建议使用onCreate() / onDestroy(),因为如果关闭本地Realm实例,则绑定到它的结果将失效。需要打开Realm才能提供与Realm文件中结果的连接。