【发布时间】:2011-12-08 09:18:15
【问题描述】:
在运行一些关闭数据库、删除数据库并用测试夹具替换它的测试后,我的应用程序及其数据库文件的状态出现了一些奇怪的行为。当我在调试 PC 上使用工具检查数据库文件时,它与应用程序本身报告的内容不匹配。这种奇怪的行为可能与this bug有关。
我注意到有两个文件与数据库具有相同的基本名称(具有正常的.db 扩展名。)文件扩展名是.db-shm 和.db-wal,每个文件都比.db 文件的新时间戳。
我假设这些是某种类型的临时文件。但是,我想知道如果应用程序被终止,它们不应该被删除吗?更重要的是,我假设在应用程序被操作系统终止之前,存储在其中的任何数据都会在 .db 文件中更新。这是正确的吗?
【问题讨论】:
-
@satur9nine 真的很奇怪.. 我被要求更新别人的代码.. 在测试期间我意识到他对核心数据的使用在 iOS 6.x 上工作得很好.. 但是当我在 iOS 7.x 上对其进行了测试。它导致上述
.db-shm和.db-wal.. 这发生在其他人身上吗? -
在 iOS 7 上,这些似乎包含所有事务。 db 文件对我来说是一个空数据库。我需要抓取所有三个文件才能查看数据库的“真实”内容。
标签: android sqlite file-extension