3

在我的 android 应用程序中,我将数据存储在本地 SQLite 数据库中。直到这个数据库的大小小于 8-9 mb,一切都像一个魅力; 但是,一旦 DB 大小约为 9 mb,它就会继续写入 logcat:

 Window is full: requested allocation 228 bytes, free space 192 bytes, window size 2097152 bytes

这会导致 SELECT * WHERE 等简单查询的时间非常长

我做错了什么?可能是什么问题?我检查了我的 Cursor 对象,我到处关闭它,并且只有当 db 大小高于此点时 Cursor 才会发送警告。

谢谢!

UDATE: 我使用“应用程序内部数据库”,而不是 sd 卡。切换到 SD 卡位置可能有帮助吗?

4

2 回答 2

0

在没有看到您的代码甚至没有测试您的应用程序的情况下,此时真的很难说:

因此,请检查您的查询并阅读 sqlite 的限制。您可以像链接的问题 OP 一样将您的数据库移动到 sd 卡,但他正在加载数据库存储的图像。

于 2013-05-22T16:55:38.327 回答
0

将文本写入文件并将文件存储到外部存储中,并且仅插入文件的路径

于 2016-10-21T12:48:25.877 回答