Как ускорить запросы при нажатии клавиши в Словаре предложений - PullRequest
2 голосов
/ 21 ноября 2011

Структура БД Словарь включает в себя два столбца: KEY и VALUE. Когда я нажимаю клавишу, поиск слов подсказки для моего словаря занимает около 2 секунд. Но если пользователь нажимает 5 слов подряд, что произойдет. Если я нажимаю клавишу, после чего мои запросы выполняются, но это вызывает сбой моей виртуальной клавиатуры, я не могу добавить нажатие новой клавиши, пока запрос не будет завершен. Если я использую поток пользовательского интерфейса, это приведет к взаимоблокировке. Кто-нибудь может мне помочь в этом вопросе?

ОБНОВЛЕНИЕ : я объединяю два метода: индекс и поток с очередями. Я добавляю новое слово при нажатии клавиши с очередями. Я запрашиваю заказ из очереди и удаляю его значение перед очередью. когда пользователь нажимает клавишу несколько раз, он запрашивает последний элемент очереди. И я использовал ключевое слово синхронизированный , чтобы избежать ошибок указатель курсора за пределами "запрошен индекс -1: с размером 1024" с многопоточностью

Ответы [ 3 ]

0 голосов
/ 21 ноября 2011

Убедитесь, что ваш столбец Key проиндексирован, см. Страницу CREATE INDEX .

0 голосов
/ 21 ноября 2011

Возможно, вы могли бы использовать AsyncTast для запроса.Это уменьшит влияние на поток пользовательского интерфейса.Но вы не можете внезапно остановить AsyncTask, хотя вы можете следовать this .

Надеюсь, это даст вам идею продолжить.

0 голосов
/ 21 ноября 2011

На самом деле вы ищете для блокировки текстового поля или получения данных без сбоев?Если вы используете ajax с javascript, я думаю, вы получите лучший ответ.

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