为什么要删除firebase引用观察者?只要应用程序正在运行,如果所有引用都被观察到,我就可以了。我不确定在用户离开应用程序后是否仍会观察引用,但如果仅在用户使用应用程序时消耗了内存,为什么还要删除观察者呢?特别是如果数据主要是轻量级文本。
答案 0 :(得分:2)
我查看了firebase文档,但没有明确的信息。
有几个片段说,在您创建它们的相反方法中删除它们是一个很好的做法。
如果您在onCreate
上创建它们,请在onDestroy
上删除它们。如果您是在viewWillAppear
上创建的,请在viewWillDisappear
上删除它们。
根据我的经验,我发现如果他们不经常开火,那么只需要让他们离开就会减少cpu的要求。我在我的应用程序上有几个观察者,因为退出应用程序而不是删除它们的cpu密集程度较低。
答案 1 :(得分:1)
如果用户离开应用程序,在关闭/杀死应用程序之后,情况就不会发生了,将不再被观察到。由于CPU或互联网的使用,这两者都不是问题,因为你会得到轻量级文本。如果用户正在使用该应用程序并且触发了observable,则会发生这种情况。
假设在您应用的主页中,如果用户节点上的值发生变化,您将有一个可观察的用户将用户发送到特定页面;如果在使用过程中这个值发生变化,则用户可能会被重定向到另一页不知道发生了什么,那么糟糕的用户体验。
发生在我身上的事情是留下了observables,他们退出了我的帐户,我的应用程序崩溃了,因为没有用户连接,因此我无法观察我需要通过身份验证查询值的节点
这就是为什么你应该在离开页面或退出应用程序或退出时删除每个observable,因为它可以给用户一些错误或不常见的行为,这会让他们认为应用程序已损坏或是不是一个好的应用程序。
希望这会有所帮助:D