【发布时间】:2021-10-31 05:52:49
【问题描述】:
我有一个包含房间数据库的应用程序。我怎么知道已达到数据存储的最大限制? 如果应用程序超过该限制会发生什么。它会影响已经存储的数据还是停止添加新数据?
【问题讨论】:
标签: android database kotlin storage android-room
我有一个包含房间数据库的应用程序。我怎么知道已达到数据存储的最大限制? 如果应用程序超过该限制会发生什么。它会影响已经存储的数据还是停止添加新数据?
【问题讨论】:
标签: android database kotlin storage android-room
来自docs
Room 持久性库在 SQLite 之上提供了一个抽象层
所以我假设房间的限制与SQLite 相同。
最大数据库大小
每个数据库都包含一个或多个“页面”。单内 数据库,每个页面大小相同,但不同的数据库可以有 页面大小是 512 和 65536 之间的 2 的幂,包括 512 和 65536。 数据库文件的最大大小为 4294967294 页。在 最大页面大小为 65536 字节,这意味着最大 数据库大小约为 1.4e+14 字节(281 TB,或 256 tebibytes,或 281474 GB 或 256,000 GB)。
我怀疑你会达到这个限制,但我相信你可以填满设备上的所有可用内存。
我如何知道已达到数据存储的最大限制?
查this answer,很详细
如果应用超过该限制会发生什么
我真的认为这取决于您执行的操作,但为避免崩溃,您可以通过之前检查链接答案中的内存来处理它。
【讨论】: