Android Room 有方法 void clearAllTables()
,根据文档,它做了以下内容:
从注册到此数据库的所有表中删除所有行
entities()
。这不会重置由
autoGenerate()
.删除行后,Room 将设置 WAL 检查点并运行 VACUUM。这意味着数据被完全擦除。如果数量超过数据库文件大小的阈值,系统将回收空间。
我在我的项目中检查了它,看起来 db 在那次调用之后没有数据,但是当我从我的设备中提取 *.db 文件并在sqlite查看器中打开它时,我看到所有数据都存在,表格被填满,什么也没有已被删除。这个怎么可能?我认为这是我的应用程序中的一个潜在缺陷。请提供可靠的洁净室数据库方法