0

我正在构建一个字典应用程序,我现在有一个问题。我的应用程序是 16MB,当我在手机上安装它时,数据库文件复制到数据文件夹,在管理应用程序部分我看到我的应用程序大小是 32MB(我的应用程序+数据文件夹)。

我不欺骗用户,我想说,我的应用程序是 16MB,但是当用户安装它时,它变成了 32MB。为什么?这是一个消极点,我想解决它。我希望我的应用在用户手机中仅使用 16MB。只是

我该如何解决这个问题?我必须直接在资产文件夹中读写还是有其他解决方案?这是低存储尺寸手机的问题。我该如何解决这个问题?

4

2 回答 2

0

我不确定您的数据库是如何构建的,它是否是一个预加载的数据库,您只需在其中包含所有数据的 .db 文件,还是在您使用应用程序推送所有数据库内容然后在安装应用程序时,您实际上将所有数据安装在数据库中。

在后一种情况下,您将应用程序的大小加倍,因为您已经拥有要用于填充数据库的数据内容(在文件中)(在这种情况下为 16 mb)。然后您使用这些文件来实际创建您的数据库文件(又是 16mb),这会使应用程序的大小翻倍。

所以你可以做的是在一个 .db 文件中预填充你的数据库内容,然后直接使用这个文件作为你的应用程序中的 Db 文件(这将使它保持在 16mb)。遵循本教程:

http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/

希望这可以帮助。

于 2012-12-02T21:35:40.300 回答
0

不确定我完全理解你的情况。

您是否有一个大约 16MB 的字典,它作为字符串常量在您的代码或某些资源文件或其他东西中打包在您的应用程序中(使其大小为 16MB),然后,当您的应用程序安装或首次启动时,您还将此字典写入您的应用程序的数据库?

如果是这样,那么现在您有 2 个字典副本,使其大小为 32MB。

要解决这个问题,要么在你的应用程序中只保留一份副本,要么从某个地方下载字典以将其放入数据库,而不是将其作为常量存储在应用程序中。

于 2012-12-02T21:36:39.603 回答