Date post: | 15-Jun-2015 |
Category: |
Technology |
Upload: | yandex |
View: | 370 times |
Download: | 3 times |
Особенности реализации Яндекс.Карт
для iPhoneРоман Бусыгин, [email protected]
Tuesday, March 30, 2010
План рассказа
• Различные способы отображения большого контента в iPhone
• Особенности реализации кэша в iPhone версии Яндекс.Карт
Tuesday, March 30, 2010
Базовые понятия
• UIView
• UIImageView
• UIScrollView
Tuesday, March 30, 2010
UIView
Базовый элемент интерфейса
Tuesday, March 30, 2010
UIImageView
Хорошо умеет показывать картинки
Tuesday, March 30, 2010
UIScrollView
Размер имеет значение
Tuesday, March 30, 2010
Отображение большого контента
• Нюансы:
• Плавная работа• Небольшое количество памяти• Ограниченные ресурсы CPU
Tuesday, March 30, 2010
Четыре способа
Tuesday, March 30, 2010
UIScrollView + UIImageView
• Максимальный зум• Минимальный зум• Картинка
Tuesday, March 30, 2010
UIScrollView + UIImageView
• Максимальный зум• Минимальный зум• Картинка
Tuesday, March 30, 2010
UIScrollView + UIImageView
• Максимальный зум• Минимальный зум• Картинка
Tuesday, March 30, 2010
UIScrollView + UIImageView
• Нельзя разместить в памяти сразу всю карту
• Скорость скролла на хорошем уровне
Tuesday, March 30, 2010
UIView с фоновой отрисовкой
Tuesday, March 30, 2010
UIView с фоновой отрисовкой
Tuesday, March 30, 2010
UIView с фоновой отрисовкой
Tuesday, March 30, 2010
UIView с фоновой отрисовкой
Tuesday, March 30, 2010
UIView с фоновой отрисовкой
Tuesday, March 30, 2010
UIView с фоновой отрисовкой
Tuesday, March 30, 2010
UIView с фоновой отрисовкой
• Низкая производительность при скроллинге карты
• Умещаемся в памяти
Tuesday, March 30, 2010
CATiledLayer
Tuesday, March 30, 2010
CATiledLayer
Tuesday, March 30, 2010
CATiledLayer
Tuesday, March 30, 2010
CATiledLayer
Tuesday, March 30, 2010
CATiledLayer
Tuesday, March 30, 2010
CATiledLayer
• Неудовлетворительная скорость отрисовке при скроллинге
• Странный порядок отрисовки• Умещаемся в памяти
Tuesday, March 30, 2010
Свой MapKit.framework
Tuesday, March 30, 2010
Свой MapKit.framework
Tuesday, March 30, 2010
Свой MapKit.framework
Tuesday, March 30, 2010
Свой MapKit.framework
Идеально подходит Яндекс.Картам на iPhone!
Tuesday, March 30, 2010
Особенности реализации кэша
Не используем файловый кэш, как на остальных платформах
Используем SQLite кэш
SQLite кэш от 2 до 4 раз быстрее
Tuesday, March 30, 2010
Особенности реализации кэша
Чтение Запись
1000 мс
90 мс
450 мс
25 мс
SQLite кэш Файловый кэш
Tuesday, March 30, 2010
А ещё…
Tuesday, March 30, 2010
Спасибо за внимание
Tuesday, March 30, 2010