我正在开发一个内容提供程序,它将其数据存储在SQLite数据库中。在开发过程中,我需要更改模式,或者完全删除数据库并重建它(我不是在开发阶段升级数据库)。
我找到了数据库文件,存储在/ data / data // databases / app_db中。当我把它拉到桌面机器上时,我可以使用SqliteSpy来查看它的内容,一切都很顺利。但是,当我删除它时,它并不总是真正删除。虽然我无法在DDMS或ADB中看到该文件,但我的应用程序仍然可以看到它。
当我删除文件时,我试图确保我的应用程序和服务没有启动,但它似乎没有帮助。在我删除文件的大约一半时间里,我需要重新启动模拟器才能使其生效。
什么可能阻止文件被真正删除?
伊泰。
答案 0 :(得分:2)
我在为ContentProvider
编写单元测试时也看到了这个问题。您需要确保已经杀死了使用该特定数据库文件的托管ContentProvider
的进程。而且只是删除它。