2014-04-02 2 views
0

Я пытаюсь использовать CoreLocation и MapKit, чтобы показать MapView на определенном PageViewControllerUIPageViewController & UIPageContentViewController + MapKit Лаг

В основном, когда вы идете на новую страницу, и она не загружена, существует серьезная Снижение FPS.

код доступен по адресу: http://hastebin.com/yuwuqujuto.py

ПРЕДУПРЕЖДЕНИЯ: Я вроде новичок в этом, так что любые других данные с эффективностью коды были бы удивительными!

ответ

1

Это характер зверя. MapKit должен спросить менеджера местоположений для вашего местоположения, затем он должен попросить сервер для фрагментов карты, которые описывают ваше местоположение. Затем эти фрагменты необходимо загружать по сети, обрабатывать и отображать. Это может занять 10 секунд или дольше.

Вы увидите то же самое с приложением Apple Maps, когда ему нужно отобразить новый контент.

+0

Это будет быстрее с блоком (теоретически), но я не могу загрузить Map View в блок. – Tillson

+0

Я не верю, что поместить его в блок волшебным образом увеличит скорость сети. :) – klcjr89

+0

@ user3477144 сказал: «Это будет быстрее с блоком (теоретически)». Неа. Блоки не делают код быстрее. Кроме того, процесс запроса и отображения содержимого карты связан с привязкой к сети, а не с привязкой к ЦП. Даже если это ускоряет обработку, это не помогает ускорить часть, которая не вызывает задержки в первую очередь. –

Смежные вопросы