2017-08-07 70 views
0

爲什麼我應該刪除Firebase引用觀察者?如果只要應用程序正在運行,就可以觀察到所有引用。我不確定用戶離開應用程序後是否仍然會觀察到引用,但是如果僅在用戶使用應用程序時才消耗內存,爲什麼還要刪除觀察者?特別是如果數據大部分是重量輕的文本。iOS:是否需要刪除Firebase觀察員?

回答

1

這種情況並非如果用戶離開應用程序時發生的情況,關閉/終止後不會再被觀察到。由於CPU或互聯網的使用,這也不是問題,因爲你會得到輕量級的文本。這種情況是,如果用戶正在使用該應用程序,並且觀察者被觸發,會發生什麼情況。

假設在您的應用程序主頁中,如果用戶節點上的值發生更改,您將有一個可觀察用戶將用戶發送到特定頁面,並且如果在使用過程中該值發生變化,用戶可能會被重定向到另一個頁面而不知道發生了什麼,如此糟糕的UX。

發生在我身上的一件事是離開observables,他們我退出了我的帳戶,我的應用程序因爲沒有用戶連接而中斷,因此我無法觀察到需要通過身份驗證才能查詢的節點值。

所以這就是爲什麼當你離開頁面或退出應用程序或註銷時,應該刪除每個可觀察項,因爲它可能會給用戶帶來一些錯誤或無法實現的行爲,導致他們認爲應用程序已損壞或不是一個好的應用程序。

希望這會有所幫助:D

+0

是的,更改帳戶可能會導致一些問題,謝謝。 – fullMoon

1

我查看了firebase文檔,並沒有關於它的明確信息。

有幾個片段說這是一個很好的做法,以您創建它們的相反方法刪除它們。 如果您在onCreate上創建它們,請在onDestroy上刪除它們。如果您在viewWillAppear上創建它們,請在viewWillDisappear上刪除它們。

根據我的經驗,我發現如果不經常開火,那麼cpu要求不要太高。我在我的應用程序上有幾個觀察者,它只是退出應用程序而不是刪除它們,而不是密集型CPU。