领域Java文档建议将领域实例与Activity
/ Fragment's
生命周期相关联,以便在创建/销毁Activity
/ Fragment
时打开/关闭领域。
假设Activity
上的用户交互触发了一堆基于异步/回调的链式代码,这些代码最终在与Activity
关联的领域实例上进行读/写操作。
如果用户在交互后立即退出活动,并且领域实例作为Activity's
onDestroy
的一部分被关闭,那么这是确保嵌套实例的事务/查询以静默方式失败的一种好方法,因为它是嵌套的回调链。
在调用领域实例之前,先检查领域实例是否已关闭/有效。
同时,打开一个领域实例并关闭它只是为了写/读一些东西可能会很昂贵。
避免此类崩溃的好方法是什么?
最佳答案
我认为这里的基本问题是:“如何防止回调死组件?”。答案在Realm文档here中:当组件退出(onPause
,onStop
或onDestroy
)时,必须注销注册侦听器。
如果我正确理解该问题,那么领域是否开放的问题是一条红线。侦听器必须未注册。
关于java - Realm 生命周期-在Android中处理关闭/无效的实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45342574/