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

时间:2012-02-02 12:10:32

标签: android sqlite

我正在按照一个简单的教程创建一个从SQLiteOpenHelper扩展的类,并创建一个包含一个表和5行的数据库。

好的,但我需要了解一些关于android Sqlite数据库的更多信息。例如,如果应用程序关闭或手机关闭会发生什么?数据库是否已删除?

由于

4 个答案:

答案 0 :(得分:10)

当然,数据库不会被删除。我假设你是以“正确”的方式做到这一点。在这种情况下,数据库是持久的。 (当然,如果您选择在临时目录中创建数据库或类似的东西,那么它将无法正常工作)。

这样想。该数据库基本上是一个文本文件。你正在对数据库做的是修改那个文本文件的内容(好吧它在现实生活中有点复杂,但它是一个很好的思考方式)。

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

答案 1 :(得分:4)

  

如果应用关闭或手机关闭会怎样?

答案为否,数据库未删除,您的数据仅在Uninstall应用程序或Clear data来自您设备的Application->Manage Application->Application_Name时被删除。

答案 2 :(得分:3)

创建数据库时,它存在于应用程序专用文件存储中,只有在您明确删除它(使用Context.deleteDatabase)或卸载应用程序时才会被删除。

答案 3 :(得分:3)

仅当您的应用被删除时,用户才会清除数据库,用户会清除与之关联的数据,或者您以编程方式执行此操作。

因此,您的应用可能会被杀死或手机重启并且您的数据库仍然存在。这就是数据库被认为是持久存储的原因。