申请规模问题

时间:2012-12-02 21:27:25

标签: java android

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

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

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

2 个答案:

答案 0 :(得分:0)

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

如果出现后一种情况,您的应用程序大小会翻倍,因为您已经拥有了要用于填充数据库的数据内容(在文件中)(在本例中为16 MB)。然后你使用这些文件来实际创建你的数据库文件(再次是16mb),这个数量是应用程序的两倍。

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

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

希望这会有所帮助。

答案 1 :(得分:0)

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

你有一个大约16MB的字典,它在你的应用程序中打包为代码中的字符串常量或某些资源文件或其他东西(使其成为16MB)然后,当你的应用程序安装或首次启动时,你也会写这个字典到你的应用程序的数据库?

如果是这样,那么现在你有两份你的字典副本,使其成为32MB。

要解决此问题,请在应用中只保留一个副本,或者从某个位置下载字典以将其导入数据库,而不是将其作为常量存储在应用中。