проблема производительности с WebKit, который получает 50.000 POI через веб-сервис - PullRequest
0 голосов
/ 12 августа 2010

У меня много POI (сравните протокол MKAnnotation) в бэкэнде на веб-сервере.Я не хочу иметь полный дамп всех этих данных в базе данных iPhone, поскольку обычно вам нужны только POI вокруг вашего региона.Таким образом, моя идея была веб-сервисом, который получает фактический показанный регион в качестве параметров и возвращает все соответствующие POI.Все идет нормально.НО тоже дерьмо полностью.Использование пальца, чтобы провести пальцем влево-вправо-влево-вправо, приведет к миллиону веб-запросов.Использование двухсекундной задержки (выполнение запроса через 2 секунды) приведет к плохой производительности (кто хочет ждать так долго?).Итак, «кеширование» - это слово дня.Есть ли кто-нибудь сейчас, если уже есть лучшая практика или даже шаблон для этого случая?В противном случае вот две мои идеи: 1. разделить карту мира на плитки (возможно, 1 км²).Можно идентифицировать эти плитки по идентификатору.Таким образом, было бы возможно сохранить в локальной базе данных, если эта плитка уже загружена (поэтому POI будут в локальной базе данных POI) или нет.Примерно через неделю запись для этой плитки будет автоматически удалена, чтобы обновить кэш.2. Все POI кэшируются.Если отображается новый регион, через две секунды в веб-службу отправляется запрос

Что вы думаете об этом?Существует ли структура данных, позволяющая легко сохранять области, которые не являются квадратами (а представляют собой наборы квадратов)?Я хотел бы услышать идеи к этой теме, Дарт

1 Ответ

0 голосов
/ 12 августа 2010

Вы можете рассмотреть вопрос только об отправке запроса после события touchesEnded.Это то, как много таблиц приложений работают.(например, Twitter загружает аватар после того, как вы отпустили палец с экрана.)

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