Android应用程序中内存中SQLite数据库的最大大小是多少?

7

我的安卓应用的数据库可以有多大?是否有限制?

出于性能和安全考虑,我不想将数据库存储在SD卡上。

2个回答

4
据研究,除了正常的空余限制外,在内部存储上SQLite数据库的大小没有硬性限制。
然而,一些人报告在更大的数据库上发生异常,尽管我还没有看到有人弄清楚原因。
遗憾的是,用于报告最大大小的内部函数对此也没有用处,它似乎被设定为1TB。

0
在Android上,如果您的内存数据库变得太大,应用程序将崩溃。我发现一个安全的内存限制是由getLargeMemoryClass返回的大小。

http://developer.android.com/reference/android/app/ActivityManager.html#getLargeMemoryClass()

我发现getLargeMemoryClass()返回的值大约是完全崩溃应用程序所需值的一半,但这是在没有其他应用程序运行的情况下。

例如,在我的Nexus 7上运行我的大型内存数据库应用程序时,当数据库超过约1GB时,应用程序将崩溃。 在Nexus 7上(至少运行Lollipop),getLargeMemoryClass()返回512MB


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接