Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.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
Android中Firebase实时数据库最大缓存大小_Android_Firebase Realtime Database - Fatal编程技术网

Android中Firebase实时数据库最大缓存大小

Android中Firebase实时数据库最大缓存大小,android,firebase-realtime-database,Android,Firebase Realtime Database,Android客户端的最大Firebase实时数据库缓存大小是多少?它是受到Firebase还是Android的限制 Firebase说: 默认情况下,将缓存10MB以前同步的数据。对于大多数应用程序来说,这应该足够了。如果缓存超出其配置大小,Firebase实时数据库将清除最近使用最少的数据。保持同步的数据不会从缓存中清除 但最后一句(加上奇怪的逗号)让我看不清这一段。是否有10MB的限制?10MB的限制来自Firebase SDK 最后一行是指来自您调用的位置的数据。这些位置不会从缓存中逐出

Android客户端的最大Firebase实时数据库缓存大小是多少?它是受到Firebase还是Android的限制

Firebase说:

默认情况下,将缓存10MB以前同步的数据。对于大多数应用程序来说,这应该足够了。如果缓存超出其配置大小,Firebase实时数据库将清除最近使用最少的数据。保持同步的数据不会从缓存中清除


但最后一句(加上奇怪的逗号)让我看不清这一段。是否有10MB的限制?

10MB的限制来自Firebase SDK

最后一行是指来自您调用的位置的数据。这些位置不会从缓存中逐出

写入队列(任何尚未与服务器同步的本地写入操作)不属于10MB限制的一部分


因此,持久缓存可能需要略大于10MB的内存。一般来说,这应该是有限的。

谢谢@Frank van Puffelen,但我仍然不清楚10MB的限制是什么,如果缓存可以超过10MB。什么限制为10MB?我们尝试将缓存大小限制为10MB。缓存的增长可能会超出这个范围,原因有很多。在正常操作中,这应该不会影响你的应用程序,因此我建议不要花费太多时间在可能发生这种情况的确切细节上。这一点对我很重要,我可能有一个大型数据库,很抱歉继续推。在我看来,缓存大小可以完全由我正在同步的数据库节点的大小决定。如果我尝试同步100MB,Firebase会允许缓存变为100MB吗?1GB?我只是想理解它的局限性。任何正在进行同步的数据(通过使用活动侦听器或通过对其调用keepSynced()进行同步)都将始终存储在缓存中。我们只在数据未被使用时才对其进行修剪。因此,如果同步1GB的数据,缓存将为1GB。此外,如果同步1GB,由于内存不足错误,您的应用程序将超慢并崩溃。10MB的限制基本上适用于“最近使用的”数据,我们会自动将其保存在缓存中,以便脱机使用。请记住,10MB的JSON数据实际上相当多,而且比大多数应用程序同步到设备的数量还要多。谢谢@Michael Lehenbauer。我可能偏离了原来的问题(请参阅),但缓存会在应用程序重新启动后继续存在吗?