2014-10-16 4 views
0

У меня проблемы с производительностью с пользовательской клавиатурой, над которой я работаю. Загрузка всех слов в дереве исправления заклинаний занимает довольно много времени. Кажется, что это делается каждый раз, когда появляется клавиатура - есть ли способ сохранить состояние клавиатуры? Приложения могут приостановить/возобновить и т. Д., Но я не могу найти документацию о том, как это сделать для расширений, или если есть какой-либо механизм для этого.Пользовательская клавиатура iOS - сохранение состояния между появлениями

Спасибо!

ответ

0

Вы загружаете словарь из Интернета или с диска? Для первого случая NSUserDefaults, кодирование (NsCopying) - это опции для хранения информации. Вы можете загрузить его в фоновом режиме.

В соответствии с документами os обычно убивает процесс расширения, поэтому я думаю, что невозможно отключить объекты клавиатуры от освобождения (вы можете использовать nskeydarchiver).

+0

Загружен с диска, словарь находится в хранилище SQLite CoreData. Поэтому я думаю, что самое лучшее, что мы можем сделать, это загрузить слова с диска в порядке важности в фоновом потоке. – Malakim