我对如何/何时/为何关闭领域实例感到困惑。在我的应用程序的整个过程中,我从未.close()
在我的领域实例上调用过,因为如果关闭它,我将无法再使用我处理过的领域对象。也许关闭领域实例的要点是在我的应用程序onDestroy()
中,就像我在我的应用程序中创建实例一样onCreate()
。实际上,我在我的应用程序中创建了Realm [*]的单例实例。
这(一个Realm单身人士)是一个好方法吗?如果我永不关闭自己的境界,会发生什么?
[*]实际上,我现在正在考虑在Realm实例的Flywheight集合中,而是每个线程存储一个实例,因为现在Service Intent开始在我的应用程序中播放,并且需要从其线程访问Realm。我认为在这里(在Service Intent中),我可以关闭领域,onDestroy()
因为线程将完成工作。
Realm在内部处理缓存,并使其尽可能地具有性能。因此,您不应该害怕打来电话Realm.getInstance()
。原因是close()
需要这样做,因为您可能会冒泄漏内存的风险,最终将导致您的应用程序崩溃。
简而言之,您不应该自己创建Realm单例或其他缓存模式。您可以在此处阅读有关控制领域生命周期的最佳实践的更多信息:https : //realm.io/docs/java/latest/#controlling-the-lifecycle-of-realm-instances
请注意,Application.onDestroy()
它不存在,Application.onTerminate()
普通应用程序不会调用它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句