关闭领域实例

时间:2017-06-29 22:40:40

标签: java android realm

我遇到领域数据库已超过1GB。当我紧凑时(当应用程序启动时),它下降到大约300Kb。

我做了我的研究,人们提到我必须关闭我的领域数据库。但是在访问领域的所有线程中,我都会执行以下操作:

try (Realm realm = Realm.getDefaultInstance())
{
    ...
    ...
    ...
}
catch (Exception ex)
{
    //put in the log here
}

我的大多数数据都是缓存的,所以只加载一次(除非我需要保存到数据库并同步缓存的数据,然后我打开领域 - 经常安静)。

所以,我的问题是,try (Realm realm = Realm.getDefaultInstance())是否足够好?或者我应该像try {...} catch{...} finally { realm.close(); }那样做?

Realm realm = Realm.getDefaultInstance();
try
{
    ...
    ...
    ...
}
catch (Exception ex)
{
    //put in the log here
}
finally
{
    realm.close();
}

目前,我每次启动应用程序时都会调用compactRealm()。虽然它很慢,但设法将大小减小到大约300Kb。

谢谢!

PS。 我无法将 Realm 实例存储为类实例,因为大部分操作都是在线程内完成的(保存新数据,与缓存同步数据等)。

0 个答案:

没有答案