Как остановить мерцание загрузки при добавлении большого количества MKOverlays на карту

У меня есть приложение, которое отображает велосипедные дорожки в Великобритании на карте:

Я обнаружил, что по соображениям производительности мне пришлось разделить выборку данных карты на листы. Я выбираю плитку за раз, используя NSOperationQueue, и отображаю ее на карте. Это значительно улучшило скорость отклика, однако добавило еще одну проблему, когда карта иногда мерцает каждый раз, когда к ней добавляется набор наложений.

Я не делаю ничего необычного в коде.

[self.mapView addOverlays:overlays];  // On the main thread

...

if ([overlay isKindOfClass:[RSPathOverlay class]])
{
    RSPathOverlay* pathOverlay = (RSPathOverlay*) overlay;

    MKPolylineView* view = [[MKPolylineView alloc] initWithPolyline:overlay];

    view.strokeColor = [UIColor colorWithRed:0.3 green:0.3 blue:1.0 alpha:1.0];
    view.lineWidth = 4.3;

    return view;
}
  • Что иногда вызывает мерцание?
  • Как я могу уменьшить / убрать мерцание?

Я задавал этот вопрос на форумах разработчиков, хотя были ответы с похожими проблемами, но хорошего решения не было найдено.

1 ответ

Я заполнил отчет об ошибке с этой проблемой. Это происходит только в IOS 6, а не в IOS 5.

Другие вопросы по тегам