【发布时间】:2013-11-27 16:24:42
【问题描述】:
我的离线应用程序中有一个 sqlite 数据库,已达到 32mb。它是在启动时从大小为 6mb 的资产文件创建的。
是否有任何内置的压缩功能会永久导致数据库变小,我不介意读取时的性能损失。然后它将使用更少的用户手机内存。
有什么想法吗?
数据库有两个表,大部分是长文本字段。大小是首次应用启动时 7000+ 次插入的最终结果。
【问题讨论】:
-
SQLite 的 FTS4 扩展提供了一个压缩选项:sqlite.org/fts3.html#section_6_1。但是,该扩展显然只存在于自 API 级别 11 以来的 Android 中(请参阅此处:stackoverflow.com/questions/6339022/…)。或者,您可以在 Java 中进行压缩/解压缩。但是,这样您将无法使用 SQLite 搜索您的文本。
-
@NobuGames 可能值得一读,因为我的目标是 API 11+。谢谢。
-
@NobuGames 只是一个更新,它不可能使用该选项来压缩 FTS 表,因为 android 不支持自定义函数。
标签: android sqlite compression