Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase下载庞大的android数据集_Android_Firebase - Fatal编程技术网

Firebase下载庞大的android数据集

Firebase下载庞大的android数据集,android,firebase,Android,Firebase,登录后,我正在尝试从firebase下载数据集。大约23000条记录用于某些计数和脱机功能。 它需要大量的时间、处理器时间和内存 当我尝试对500条记录进行分页时,它占用了大量的cpu时间,几乎45%的时间为10分钟。这是一个电池排水器 我必须使用firebase实现实时功能 有没有人经历过这种情况,或者知道如何更有效地进行初始下载 为了更好地理解,需要截图 蓝色是内存,红色是CPU,橙色是网络 谢谢你的帮助 编辑: 分页只解决了内存问题(当我下载数据时,应用程序并没有占用我手机上大约120

登录后,我正在尝试从firebase下载数据集。大约23000条记录用于某些计数和脱机功能。 它需要大量的时间、处理器时间和内存

当我尝试对500条记录进行分页时,它占用了大量的cpu时间,几乎45%的时间为10分钟。这是一个电池排水器

我必须使用firebase实现实时功能

有没有人经历过这种情况,或者知道如何更有效地进行初始下载

为了更好地理解,需要截图

蓝色是内存,红色是CPU,橙色是网络

谢谢你的帮助

编辑:

分页只解决了内存问题(当我下载数据时,应用程序并没有占用我手机上大约120 MB的内存)。问题是,我几乎可以立即下载500条记录,当我下载23k条记录中的一页时,几乎需要10秒

数据如下所示:

EDIT2: 我可能找到了最快的方法。我使用firebase REST API来下载这些数据量,它比从SDK获取数据更快更好(就我而言)

对于手机上firebase存储的缓存,我使用以下代码

FirebaseDatabase db = FirebaseDatabase.getInstance();
DatabaseReference ref = getReference(db);
db.goOffline();
ref.updateChildren(mapFromResponse);
db.goOnline();

在我的应用程序中,当应用程序第一次启动时,我还需要从Firebase下载大量数据记录,这些记录会离线缓存

是的,最初下载它们需要一些时间,但您所能做的很少。如果有很多数据,那就需要一些时间。即使您尝试采用分页方法,仍然必须下载这些数据


您可以在下载此数据时向用户显示不确定的加载,并确保这些数据在Firebase中本地缓存,以便不再下载。

在我的应用程序中,当应用程序第一次启动时,我还需要从Firebase下载大量数据记录,这些记录会离线缓存

是的,最初下载它们需要一些时间,但您所能做的很少。如果有很多数据,那就需要一些时间。即使您尝试采用分页方法,仍然必须下载这些数据


您可以在下载此数据时向用户显示不确定的加载,并确保这些数据在Firebase本地缓存,以便不再下载。

下载数据所需的时间主要取决于数据的大小和下载设备的带宽。但是,如果没有看到Puf所说的+1,就很难说出更有用的话。但是你的用户真的能一次查看500条记录吗?我看不到任何东西。所以,也许这比你需要处理的数据要多?谢谢你的回复。。。加藤:用户当时无法查看500条记录,我下载它只是为了在手机中缓存。我必须能够脱机查看数据。我在主要文章中详细描述了这个问题。下载数据所需的时间主要取决于数据的大小和下载设备的带宽。但是,如果没有看到Puf所说的+1,就很难说出更有用的话。但是你的用户真的能一次查看500条记录吗?我看不到任何东西。所以,也许这比你需要处理的数据要多?谢谢你的回复。。。加藤:用户当时无法查看500条记录,我下载它只是为了在手机中缓存。我必须能够脱机查看数据。我在主要帖子中详细描述了这个问题。谢谢回复。我在主要帖子中描述了这个问题,谢谢回复。我在主要帖子中描述了这个问题