Android Room 数据库大小

Kee*_*B V 6 android android-room

我想知道房间数据库可以容纳的最大大小是多少?我在文档中没有看到任何内容。

是否有任何选项可以以编程方式设置数据库大小?

我已检查过文档,但找不到任何信息。

Sus*_*ger 1

我也有同样的疑问。由于 Room 底层使用 SQLite,因此以下是 SQLite 数据库网站关于 SQLite 数据库的最大大小及其在大容量时的性能的说明。

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

这个特定的上限未经测试,因为开发人员无法访问能够达到此限制的硬件。然而,测试确实验证了当数据库达到底层文件系统的最大文件大小(通常远小于最大理论数据库大小)以及数据库由于磁盘空间耗尽而无法增长时,SQLite 的行为是否正确且稳健。

我认为任何应用程序都不会消耗这个大小的一小部分。

SQLite 限制