sqlite запрос приводит к сбою в приложении iPhone - проблема с памятью - PullRequest
2 голосов
/ 23 сентября 2011

Я использую запрос sqlite для получения значений питательных веществ для конкретного продукта питания из базы данных USDA.Запрос работает нормально, при попытке в симуляторе, но иногда приводит к сбою на устройстве.Я включаю базу данных USDA в само приложение.Также в таблице, по которой выполняется запрос, содержится более 5 lac записей.Я получаю «Предупреждение памяти уровня 1» при запуске приложения.Я не могу перейти на веб-сервисы, так как требуется предоставление автономной поддержки.

Любые предложения, как справиться с этой ситуацией ??

Редактировать:

В журнале я получаю сигнал0 сообщение

Программа получила сигнал: «0».Форматирование данных временно недоступно, повторная попытка после «продолжения».(Неизвестная ошибка загрузки общей библиотеки "/Developer/usr/lib/libXcodeDebuggerSupport.dylib")

Ответы [ 3 ]

2 голосов
/ 29 сентября 2011

Вы исчерпали память вашего приложения. Я не эксперт по БД, но вам придется использовать некоторые специальные методы для доступа к вашей огромной базе данных. Возможно выполнить несколько запросов последовательно в разных разделах БД. Или разделите БД на сегменты. Ниже приведены некоторые ссылки, относящиеся к аварии, которую вы видите -

Программный полученный сигнал: «0». Форматеры данных временно недоступны

Средства форматирования данных временно недоступны

Форматировщики данных временно недоступны, повторная попытка после «продолжения»

Есть и другие, если вы ищете сообщение об ошибке.

2 голосов
/ 05 октября 2011

Сбои, связанные с памятью, довольно часто встречаются в приложениях ios. Я заметил, что более стабильные приложения, как правило, вручную управляют памятью, просто позволяя устройству управлять ею. Я думаю, что если вы разделите его на разделы, а не прочитаете один файл, и, как Акшай сказал, индексируйте таблицы, это будет более стабильным. Вы можете попробовать прочитать файлы из сжатых архивов, которые будут более эффективны, чем обычное старое чтение.

2 голосов
/ 23 сентября 2011

Я думаю, размер базы данных вызывает сбой ... Если вы используете эту базу данных только для чтения, вы можете использовать сжатую и зашифрованную форму ... вы можете получить более подробную информацию здесь http://www.hwaci.com/sw/sqlite/cerod.html Это может помочь вам избавиться от предупреждений памяти. Вот еще одна ссылка, которая может помочь вам уменьшить размер базы данных .... Как уменьшить размер базы данных sqlite3 для iphone?

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