SQLITE маленький по размеру файла? - PullRequest
1 голос
/ 25 июля 2011

Ладно, я создаю приложение, которое в основном обманывает ... Я заметил, что все другие приложения могут работать без интернета, то есть они должны хранить свои данные (слова) в базе данных SQL или сортировать.Я планировал сделать то же самое.Я экспортировал свою базу данных MySQL, которая находится на моем Mac, и это было 13,2 МБ, что я считаю, довольно много.Во всяком случае, когда я посмотрел на другие приложения на рынке, которые делают то же самое, что и мои, все они имели размеры в килобайтах.Есть большая разница между размерами mysql по сравнению с sqlite.И я не знаю, правильно ли я смотрю размеры приложений.Вот как я это делаю.Настройки> Приложение> Управление приложением и под каждым пакетом написано размер.Это где я должен искать размер приложения.Как я могу масштабировать мою базу данных в моем приложении.

Ответы [ 2 ]

0 голосов
/ 25 июля 2011

Существует ряд факторов, которые могут повлиять на размер приложений, которые вы видите на рынке, в сравнении с вашим дампом mysql.

1) Размер их баз данных / схем и количествослова, которые они включают.Каждый раз, когда вы добавляете столбец данных в вашу базу данных, вы эффективно увеличиваете размер базы данных геометрически (то есть, если вы добавляете одну строку в базу данных 2x3, вы фактически добавляете еще 3 ячейки (1col x 3 строки).Если в вашем словаре 10 000 слов, вы можете увидеть, как это очень быстро увеличит размер вашей базы данных. Шаг 1. Удалите все ненужные столбцы из базы данных

2) Файлы на Android marketфайлы .apk, которые по сути являются очень сжатыми архивными файлами.Поскольку базы данных SQLite в основном представляют собой просто текстовые файлы, алгоритмы сжатия, используемые для создания пакета, очень хорошо сжимают эти данные.Как только вы создадите свой .apk, вы увидите, что размер приложения резко упал (наша игра Zomblings перешла с несжатого 60 МБ в файл .apk 10 МБ).Шаг 2: сгенерируйте apk и посмотрите, какой размер файла вы на самом деле получите.

0 голосов
/ 25 июля 2011

Если вы хотите обменять время на пространство, вы можете сохранить список слов в виде сжатого текстового файла с вашим приложением.Затем, при первом запуске, создайте новую базу данных и скопируйте список слов в.

Если вы сделали это в фоновом потоке, как только приложение запустилось, вы, вероятно, можете сделать это до того, как пользователь произнес свое первое словопоиск (хотя, конечно, у вас должен быть какой-то механизм, чтобы сообщить основному потоку, что вы закончили, и попросите пользователя подождать, если вы этого не сделаете).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...