gpt4 book ai didi

android - Android 9 中的空 SQLite 文件

转载 作者:行者123 更新时间:2023-11-29 00:56:38 26 4
gpt4 key购买 nike

上次我注意到我的应用程序在 SQLite 数据库备份方面存在问题。为了进行数据库备份,我将 *.db 文件从 /data/data/com.pkg.app/databases/db_name.db 复制到内部存储。要恢复我从内部存储复制到 /data/data/com.pkg.app/databases/db_name.db。但是在 Android P 中有问题。那些 db 文件存在,但它的重量是 4kB。当我通过 DB Browser 打开这些文件时,我注意到文件是空的——没有表格和数据。这很奇怪,因为应用程序运行正常。问题是我应该在哪里寻找我的应用程序正在使用的数据库文件? Android 8及以下没有这个问题。我正在使用模拟器。

最佳答案

在 Android P+ 中,WAL(预写日志记录)默认打开。这会产生两个附加文件,它们在原始文件名后加上 -shm(共享内存文件)和 -wal(预写日志记录)。

这些要么需要在备份和恢复时复制,要么只有在确保数据库已完全检查点后才需要备份,然后您可以在恢复过程中删除 -shm 和 -wal 文件。

另一种方法是禁用 WAL 并使用效率较低的日志模式。

您不妨查看 Database Import and Export not working in Android Pie .

关于android - Android 9 中的空 SQLite 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54222853/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com