Firebase-长期以来的应用程序无响应(由于数据同步?)



我正在使用类似Runkeeper的应用程序。

当应用程序捕获了许多位置数据时,此问题就会发生,并且由于没有Internet连接而在本地保存所有数据。

很长时间后我连接到WiFi并打开应用程序时,它将显示处理图标很长时间。

    showProcessingIcon()
    userRef.observeSingleEvent(of: .value, with: { snapshot in
        //.... process and display data....
        hideProcessingIcon()    
    }) { (error) in
        //.... handle error....
        hideProcessingIcon()            
    }

有时在分钟左右后处理图标消失。有时我在等待5分钟左右后不得不退出该应用程序,并且处理图标仍在旋转。有时我注意到该应用在等待处理完成时已卸载(1分钟后电话自动锁)。

任何想法如何避免这种情况?

谢谢。

在Firebase SDK在线时,您无法真正阻止数据同步。如果您有大量的书面写作,则只要需要完成,它就会花费时间,并且它将阻止其他写入直到完成。

您可以做的是将数据收集到其他商店(本地文件或数据库)中,而不是直接使用SDK写入数据库。然后,您可以选择何时将这些数据写入实时数据库(但这仍然需要尽可能长的时间才能完成)。

最新更新