我应该在android中创建一个新数据库还是运送现有数据库

时间:2017-08-10 12:20:09

标签: android performance sqlite android-sqlite sqliteopenhelper

我遇到过必须创建包含大量表的数据库的情况。当我编写用于创建相同代码的代码时,它变得复杂且令人困惑。我想知道,创建一个sqlite数据库并将其与apk一起运送是否是一个好方法。 你认为哪种方法会好,为什么?

PS:在升级时,我正在删除所有表并创建新表。没有数据被保留。

非常感谢

1 个答案:

答案 0 :(得分:0)

如果只为数据库创建没有预定义数据的表,则可以在需要时创建表。但是如果数据库中有超过1 MB的数据(不是BLOB),则应在外部创建数据库,然后将其发送到apk中。因为插入1 MB数据需要花费时间,Android系统会抱怨"应用无响应" (ANR)对话框。用户不要等待太长时间才能使用该应用程序。

您可以使用Android SQLiteAssetHelper在apk中发送SQLite数据库。