【问题标题】:Android Sqllite db is static or dynamic in nature?Android Sqlite db本质上是静态的还是动态的?
【发布时间】:2013-04-09 08:50:36
【问题描述】:

我对 Android 很陌生,在理解 android 中的 DB 概念时遇到了一些问题。

当我在 android 中创建我的表时,android 会给我的应用程序 static 空间吗?或者当我向其中添加更多数据时,数据库大小会以动态的方式增长?

如果它确实以动态方式增长它可以增长到最大多少空间?

我的应用程序创建的数据库是持久的? Android 向我保证 Android 操作系统不会删除我的数据?

【问题讨论】:

    标签: android sqlite


    【解决方案1】:

    Sqlite 是一个数据库管理系统,不过是一个非常轻量级的 sql 版本。是的,当您将数据输入到它的表中时,数据库的大小会增加。它本身的数据( text,int,float,image )是由二进制信息组成的,所以它会发生。

    如果它确实以动态方式增长,它可以增长到最大的空间是多少?

    这取决于您的可用空间。

    我的应用创建的数据库是持久的? Android 向我保证 Android 操作系统不会删除我的数据?

    是的,数据样式是持久性的,只要您不以编程方式或手动方式删除它,它就会留在系统中。

    【讨论】:

      【解决方案2】:

      一个问题主要有三个问题

      第一个

      how much space it can grow to the max? see this

      第二个

      DB that is been created by my app is persistent? see this

      最后

      Android guarantees me that my data wont be removed by the Android OS?

      一旦您卸载了您的应用程序,您将无法返回。如果开发人员在私有路径中存储了额外的数据库文件,则可能是其他情况。

      【讨论】:

        【解决方案3】:

        当您从应用程序创建数据库时,数据库保存在/data/data/APP-Name/Databases。随着您不断添加表,大小会增加,数据库的最大容量为 140 TB,并且是持久的。

        【讨论】:

          【解决方案4】:

          在 android 中,您的数据库作为文件保存在为您的应用程序分配的内部存储中,并且是持久的。

          你的 dB 的共同路径是

          /data/data/<your-package-name>/databases
          

          查看实施限制here

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-08-31
            • 1970-01-01
            • 2012-08-31
            • 2015-03-10
            • 2016-07-23
            • 2010-09-06
            • 2015-12-12
            相关资源
            最近更新 更多