2017-10-11 31 views
2

我对android有点新,我正在处理一个曾经拥有40 MBs的sqlite数据库的项目。 现在我想将原始文件夹中的sqlite blob数据,所以我的数据库现在少于1 MB。 问题是在数据库路径(数据/数据/包名称/数据库)中,数据库文件大小仍然与过去相同(我的手机已生根,因此每次调试后我都可以检查它)。 在DB浏览器中,我们可以使用紧凑型数据库,以便在删除某些表后减少数据库大小。现在我能做什么? 任何帮助,将不胜感激。 tnx提前。更新和压缩android中的sqlite数据库

+0

究竟什么是你的问题,你可以把它简化,并要求 –

+0

@war_Hero。 tnx您的关注。我编辑我的帖子,如果你没有再次得到它,请让我知道我会尝试解释它 –

+0

实际上,我已经删除了1表的SQLite数据库,并将其数据转换为原始文件夹现在已被复制到手机的数据库大小仍然一样。您知道我想更新我的应用程序,并且在此更新中我删除了此表。 –

回答

2

VACUUM命令可能是你想要的。

这会将数据复制到临时数据库,然后使用它覆盖原始数据。

你会使用的东西线沿线的: -

db.execSQL("VACUUM"); 

注意有关兼容性的警告在以下几点: -

SQL As Understood By SQLite - VACUUM

+0

tnx很多。你知道我应该把这行代码放在哪里吗? –

+0

如果使用DBHelper,那么一旦你找到了帮手,你就可以在例如之后立即使用它。 'mEventsDBHelper = new EventsDBHelper(this); mEventsDBHelper.getWritableDatabase()。execSQL(“VACUUM”);' – MikeT

+0

Tnx很多人。它的工作完美:) –