gpt4 book ai didi

android - 实例化和关闭 Realm 实例

转载 作者:行者123 更新时间:2023-11-29 01:20:28 24 4
gpt4 key购买 nike

我对如何/何时/为何关闭 Realm 实例感到有点困惑。在我的应用程序的整个过程中,我从未在我的 Realm 实例上调用过 .close(),因为如果我关闭它,我将无法再使用我处理的 Realm 对象。也许关闭 Realm 实例的点在我的应用程序 onDestroy() 中,就像我在我的应用程序 onCreate() 中创建实例一样。实际上,我使用的是在我的应用程序中创建的 Realm [*] 的单例实例。

这是(一个 Realm 单例)一个好的方法吗?如果我从不关闭我的 Realm 会发生什么?

[*] 事实上,现在我正在考虑在 Realm 实例的 Flywheight 集合中,改为为每个线程存储一个实例,因为现在服务 Intent 开始在我的应用程序中发挥作用,需要从其线程访问 Realm。我想在这里(在服务 Intent 中),我可以在 onDestroy() 中关闭 Realm ,因为线程将完成工作。

最佳答案

Realm 在内部处理缓存并将使其尽可能高效。所以你不应该害怕调用 Realm.getInstance()。原因是 close() 是必需的,因为您可能会冒内存泄漏的风险,这最终会杀死您的应用程序。

简而言之,你不应该自己做一个 Realm 单例或其他缓存模式。您可以在此处阅读有关控制 Realm 生命周期的最佳实践的更多信息:https://realm.io/docs/java/latest/#controlling-the-lifecycle-of-realm-instances

请注意,Application.onDestroy() 不存在,普通应用程序不会调用 Application.onTerminate()

关于android - 实例化和关闭 Realm 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37074326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com