gpt4 book ai didi

android - 如何关闭 Realm.getDefaultInstance 打开的 Realm ?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:25:39 26 4
gpt4 key购买 nike

我正在使用 Realm 来存储和检索数据。通常当我们打开一个 Realm 来存储一些我们喜欢的数据时:

Realm realm = Realm.getDefaultInstance();
realm.beginTransaction();
// Copy the object to Realm
realm.copyToRealm(myObject);
realm.commitTransaction();
realm.close();

在上述情况下,我正在关闭 Realm 。

但是当我检索一些数据时:

RealmResults<MyClass> results = Realm.getDefaultInstance().where(MyClass.class).findAll();

如何关闭这个 Realm ?需要关闭吗?

最佳答案

单行执行意味着您无法关闭 Realm,因此我建议您不要这样做。

在最好的情况下,不关闭 Realm 会导致内存泄漏,如果在后台,则更有可能被系统杀死。最坏的情况是您会看到磁盘使用率大幅增加,因为 Realm 必须跟踪所有打开的 Realm 实例的版本(由于是 MVCC 数据库)。

我强烈建议您使用您的第一个模式。有关控制 Realm 实例的更多信息,您可以阅读:https://realm.io/docs/java/latest/#realm-instance-lifecycle还有这个https://realm.io/news/threading-deep-dive/

关于android - 如何关闭 Realm.getDefaultInstance 打开的 Realm ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37113078/

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