Android 安卓数据存储问题
我有一个在SQLite数据库中存储数据的应用程序,当这个应用程序刚刚安装时,它使用8kb的数据,当我开始插入数据时,数据的大小明显增加。奇怪的是,当我开始清理数据库表时,我会将数据库完全清空,但我永远不会恢复前8kb的数据,但在某些情况下,会恢复超过100kb的数据,这些数据来自何处?数据库与文件系统不同,因此从数据库中删除数据时,不会恢复以前使用的空间。数据库驱动程序倾向于保留旧的分配空间 您可以压缩数据库,它将通过手动执行SQLite命令来恢复此空间Android 安卓数据存储问题,android,sqlite,Android,Sqlite,我有一个在SQLite数据库中存储数据的应用程序,当这个应用程序刚刚安装时,它使用8kb的数据,当我开始插入数据时,数据的大小明显增加。奇怪的是,当我开始清理数据库表时,我会将数据库完全清空,但我永远不会恢复前8kb的数据,但在某些情况下,会恢复超过100kb的数据,这些数据来自何处?数据库与文件系统不同,因此从数据库中删除数据时,不会恢复以前使用的空间。数据库驱动程序倾向于保留旧的分配空间 您可以压缩数据库,它将通过手动执行SQLite命令来恢复此空间 可能可以启用自动真空模式,但这需要在创建
可能可以启用自动真空模式,但这需要在创建数据库之前完成。只需在大量删除后调用db.execSQL(“真空”),我就可以看出其中的区别。谢谢!真空是否也加快了数据访问速度?@mserioli它只是通过重建数据库对数据库进行碎片整理。我还没有找到文件说明它可以加速数据访问…它会间接地加快访问速度,想象一下,你可以更快地在一个乱七八糟的房子里找到你的玩具,还是在一个干净的房子里?