房间数据库保存数据的存储限制是多少?

Swe*_*ain 4 database storage android kotlin android-room

我有一个带有房间数据库的应用程序。我如何知道已达到数据存储的最大限制?如果应用程序超出该限制会发生什么情况。它会影响已存储的数据还是只是停止添加新数据?

Ste*_*one 6

来自文档

Room 持久性库提供了 SQLite 之上的抽象层

所以我假设 room 与SQLite具有相同的限制。

来自SQLite 中的限制

最大数据库大小

每个数据库都由一个或多个“页面”组成。在单个数据库中,每个页面的大小相同,但不同数据库的页面大小可以是 512 到 65536(含)之间的 2 的幂。数据库文件的最大大小为 4294967294 页。当最大页面大小为 65536 字节时,这转换为最大数据库大小约为 1.4e+14 字节(281 TB、或 256 TeB、或 281474 GB 或 256,000 GB)。

我怀疑你会达到这个限制,但我相信你可以填满设备上的所有可用内存。

我如何知道已达到数据存储的最大限制?

看看这个答案,很详细

如果应用程序超出该限制会发生什么

我真的认为这取决于您执行的操作,但为了避免崩溃,您可以通过事先检查内存来处理它,如链接的答案中所示。