【问题标题】:Android Room database created 3 files including -shm and -wal filesAndroid Room 数据库创建了 3 个文件,包括 -shm 和 -wal 文件
【发布时间】:2020-06-25 04:25:26
【问题描述】:
我使用名为 ImageDatabase 的 Room 数据库创建了一个数据库,当我在 Android Studio 中的数据库文件夹中打开我的设备文件资源管理器时,有三个名为 ImageDatabase、ImageDatabase-shm 和 ImageDatabase-wal 的文件。我想知道这些文件的用途是什么?任何帮助都会很棒
谢谢大家
【问题讨论】:
标签:
java
android
sqlite
android-studio
android-room
【解决方案1】:
您数据库中的数据包含在所有三个中。没有扩展名的是主数据库。其他的是 Write Ahead Log 文件 (-wal) 和 Sh 是 M内存文件 (-shm)。底层 SQLite 系统使用它们来提高性能,并包含对主数据库的最新更改,直到完成 checkpoint。您可以在SQLite docs找到更多信息。
【解决方案2】:
您的原始数据库是 ImageDatabase,即您在创建时提供的数据库名称。
您可以复制数据库并检查来自here 的包含
在上面的链接中上传您的数据库,您可以验证它。