我正在使用onChildEventListener来检索10'000个孩子。
完成操作大约需要5秒钟。
在此期间,应用程序冻结。
有没有办法使其更快?
另外,我尝试使用ValueEventListener,发现通过子级循环更快。无论如何,那不是一个可靠的解决方案,所以我切换回onChildEventListener。

最佳答案

无论使用ValueEventListener还是ChildEventListener,数据检索过程都完全相同。唯一的区别是在您的应用程序中引发事件/触发回调的方式。另外:数据库的所有网络活动都发生在单独的线程上。

这意味着冻结应用程序的不是获取数据,而是更有可能在onDataChange()回调中处理数据的方式。如果您在那里进行大量工作,则需要在主线程之外进行。

09-04 03:36