我想在我的Android / Java项目中使用Realm DB,并且有一个问题:我有什么理由不创建单个Realm实例并将其保留在应用程序生命周期中。我使用Dagger2,可以创建一次Realm实例并传递它。这会是一件坏事吗?
我已经看到(这里https://realm.io/docs/java/latest/#controlling-the-lifecycle-of-realm-instances)它讨论了保持活动生命周期的实例。但是我想知道这是否可以扩展到应用程序?
是否有任何错误状态'它可能会导致问题,或者我必须检查?
与短期实例相比,还有其他优点或缺点吗?
由于
答案 0 :(得分:0)
您不能创建单独的Realm实例并在任何地方重用它。原因是Realm实例是线程单例。您可以在此处详细了解我们的线程模型:https://realm.io/news/threading-deep-dive/
如果您希望可以注入配置并使用Realm.getInstance(config)
,那么您将拥有一个用于调试的配置和一个用于发布的配置。如果没有,只需使用Realm.getDefaultInstance()
就行了。