2011-07-25 85 views
1

好吧我正在创建一个应用程序,它基本上是一个拼字游戏作弊...我注意到,所有其他应用程序可以在没有互联网的情况下工作,这意味着他们必须将他们的数据(单词)存储在sql数据库中或进行排序。我打算做同样的事情。我导出了我的Mac上的我的mysql数据库,它是13.2 mb,我认为它相当多。无论如何,当我看到市场上的其他应用程序与我做同样的事情时,它们都有kb的大小。与sqlite相比,mysql大小有很大差异。而且我不知道我是否正确查看应用尺寸。这是我如何做到的。设置“>”应用程序“>”管理应用程序“,并在每个包下面显示大小那是我应该在哪里寻找应用程序的大小。如何将我的数据库扩展到我的应用程序中。文件大小小的SQLITE?

回答

0

有许多因素可能会影响您在市场上看到的应用程序的大小与您的mysql转储。

1)它们的数据库/模式的大小以及它们包含的单词数量。每次向数据库中添加一列数据时,都会有效地增加数据库的几何尺寸(也就是说,如果在2x3数据库中添加一行,实际上是再添加3个单元格(1col x 3行) )如果您的字典中有10,000个单词,您可以看到这会如何快速增加数据库的大小。步骤1:从数据库中删除所有不必要的列

2)Android市场上的文件是。 apk文件,它们本质上是非常压缩的归档文件。由于SQLite数据库基本上只是简单的文本文件,所以用于创建该包的压缩算法在压缩这些数据方面非常出色。一旦你创建你的.apk,你就会看到应用程序的大小急剧下降(我们的游戏僵尸从60MB解压缩到10M .apk文件)。第2步:生成apk并查看您实际获得的文件大小。

0

如果您愿意为空间交换时间,可以将单词列表作为压缩文本文件存储在您的应用中。然后,在第一次启动时,创建一个新数据库并复制单词列表。

如果您在应用程序启动后在后台线程上执行了此操作,则可能在用户完成第一个单词搜索之前完成当然你应该有一些机制来表明你已经完成的主线程,并且请求用户请等待,如果你没有的话)。