Размещение сотен маркеров на MapView - PullRequest
3 голосов
/ 22 ноября 2011

Я могу легко нанести маркеры наложения на карту, но требования этого проекта требуют добавления нескольких сотен маркеров наложения.Очевидно, что это приводит к повсеместному появлению ANR.

Я не могу использовать AsyncTask для обработки добавления маркеров наложения, поскольку задача не может получить доступ к представлениям.

Так как я могу переместить добавлениеэти наложения на MapView таким образом, что приложение не ANR?

Или реалистичное ограничение на количество маркеров наложения, которые я могу нанести, гораздо более ограничено?

1 Ответ

3 голосов
/ 22 ноября 2011

Переопределите методы onPostExecute и onProgressUpdate AsyncTask для перехода на поток пользовательского интерфейса.Вы можете управлять своим пользовательским интерфейсом изнутри.Не забудьте сохранить всю грубую работу в методе doInBackground.

Попытка запустить несколько сотен AsyncTasks не является хорошей идеей, поэтому я рекомендую использовать очередь, в которой фиксированное число AsyncTasks потребляет запросы.1006 *

Ваша следующая проблема связана с производительностью, когда пользователь манипулирует картой.

...