Sqlite база данных огромный выбор записей в моем приложении IOS - PullRequest
0 голосов
/ 10 февраля 2019

В моем приложении ios мне нужно получить около 300 000 записей (выберите запрос) из базы данных sqlite.Но то, что происходит в симуляторе xcode, занимает около 6 ГБ памяти, а когда я запускаю устройство (из 1 ГБ 700 МБ), происходит сбой устройства.Как лучше всего справиться с этой проблемой.

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Я столкнулся с той же проблемой при поиске большой базы данных sqlite большого размера на ios, и я исправил ее с помощью расширенной фоновой задачи Apple doc , также проверьте форму задач конечной длины raywenderlich

0 голосов
/ 10 февраля 2019

Насколько я понимаю, вы пытаетесь одновременно запросить 300 000 записей из базы данных SQL на мобильном устройстве, и вам не хватает памяти.

300 000 записей - это много для мобильного устройства.Трудно представить, что все эти записи отображаются пользователю одновременно.Обычно в табличном представлении отображается 10-20, и, как пользователь прокручивает, он ожидает, что сможет увидеть больше.

Когда человек впервые загружает страницу, вам не нужно загружать все возможные объекты, на которые он может перейти.Вам просто нужно получить счет.По мере прокрутки пользователь может получать записи по мере необходимости.Например, вы сначала делаете запрос для первых 20, и, когда пользователь прокручивает, вы загружаете записи 21-40, а затем 41-60 и т. Д. Вы можете хранить то, что вы выбираете, в небольшом кэше и очищать их, когда пользователь прокручиваету вас не слишком много памяти в одно время.

Трудно дать лучший совет, не видя ваш код, но я надеюсь, что это поможет.

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