Sqlite数据库的生命周期?当应用程序关闭时,它会被删除吗?

5

我正在遵循一个简单的教程,创建一个扩展自 SQLiteOpenHelper 的类,并创建了一个具有一个表和 5 行的数据库。

好的,但我需要更多关于 Android Sqlite 数据库的了解。例如,如果应用被关闭或手机关闭会发生什么?数据库会被删除吗?


5
即使你的手机被火车碾压,数据库也不会被删除! - Mudassir
如果更改数据库版本,数据也会丢失。 - Nixit Patel
4个回答

10

当然,数据库不会被删除。我假设你是用“正确”的方式来操作的。在这种情况下,数据库是持久化的(当然,如果你选择在临时目录或类似位置创建数据库,那么它可能无法正常工作)。

可以这样想,数据库基本上就是一个文本文件。对于数据库所做的更改,实际上就是修改了该文本文件的内容(虽然在现实生活中有些复杂,但这是一种很好的思维方式)。

一旦你对数据库进行了更改(例如添加了一行数据),数据库文件会被保存到磁盘上,从而使其持久化。如果手机关机或应用程序退出,则数据库文件仍然存在,并且可以在将来继续连接到它。


3

如果应用程序被关闭或手机关机了会发生什么?

答案是否定的,数据库不会被删除。只有在卸载应用程序或从设备的应用程序->管理应用程序->应用程序名称中清除数据时才会删除您的数据。


3

只有当你的应用被删除、用户清除与之相关的数据或你通过编程删除时,数据库才会被删除。

因此,即使你的应用被杀死或手机重启,你的数据库仍然存在。这就是为什么数据库被认为是持久存储的原因。


2
当创建数据库时,它存储在应用程序的私有文件存储中,并且只有在您显式删除它(使用Context.deleteDatabase)或卸载应用程序时才会被删除。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接