2017-08-07 36 views
0

为什么我应该删除Firebase引用观察者?如果只要应用程序正在运行,就可以观察到所有引用。我不确定用户离开应用程序后是否仍然会观察到引用,但是如果仅在用户使用应用程序时才消耗内存,为什么还要删除观察者?特别是如果数据大部分是重量轻的文本。iOS:是否需要删除Firebase观察员?

回答

1

这种情况并非如果用户离开应用程序时发生的情况,关闭/终止后不会再被观察到。由于CPU或互联网的使用,这也不是问题,因为你会得到轻量级的文本。这种情况是,如果用户正在使用该应用程序,并且观察者被触发,会发生什么情况。

假设在您的应用程序主页中,如果用户节点上的值发生更改,您将有一个可观察用户将用户发送到特定页面,并且如果在使用过程中该值发生变化,用户可能会被重定向到另一个页面而不知道发生了什么,如此糟糕的UX。

发生在我身上的一件事是离开observables,他们我退出了我的帐户,我的应用程序因为没有用户连接而中断,因此我无法观察到需要通过身份验证才能查询的节点值。

所以这就是为什么当你离开页面或退出应用程序或注销时,应该删除每个可观察项,因为它可能会给用户带来一些错误或无法实现的行为,导致他们认为应用程序已损坏或不是一个好的应用程序。

希望这会有所帮助:D

+0

是的,更改帐户可能会导致一些问题,谢谢。 – fullMoon

1

我查看了firebase文档,并没有关于它的明确信息。

有几个片段说这是一个很好的做法,以您创建它们的相反方法删除它们。 如果您在onCreate上创建它们,请在onDestroy上删除它们。如果您在viewWillAppear上创建它们,请在viewWillDisappear上删除它们。

根据我的经验,我发现如果不经常开火,那么cpu要求不要太高。我在我的应用程序上有几个观察者,它只是退出应用程序而不是删除它们,而不是密集型CPU。