MKMapSnapshotter использует невероятное количество процессора и оперативной памяти
MKMapSnapshotter, кажется, использует до 2 ГБ оперативной памяти, когда находится в симуляторе, и вызывает предупреждения памяти и очень долго зависает мое приложение на устройстве. Я не уверен, какая часть моих настроек вызывает это.
Такое огромное использование происходит при одновременном извлечении нескольких изображений, но даже при извлечении нескольких изображений одно за другим, по-видимому, используются откровенно огромные объемы ОЗУ, максимум 600 МБ, и они полностью занимают ЦП, используя до 190%. Я попытался удалить всю другую логику, даже не сохраняя изображения после того, как они были запрошены, и по-прежнему происходит огромное использование ОЗУ и ЦП.
Это не может быть предназначено. Должно быть что-то, что я не настраиваю, чтобы вызвать этот безудержный захват ресурсов. Вот мой код опций:
MKMapSnapshotOptions* options = [MKMapSnapshotOptions new];
options.region = MKCoordinateRegionMake(CLLocationCoordinate2DMake(self.lat.doubleValue, self.lng.doubleValue), MKCoordinateSpanMake(0.01, 0.01));
options.scale = 2.0;
options.size = CGSizeMake(300, 44);
options.showsBuildings = NO;
MKMapSnapshotter* snapshotter = [[MKMapSnapshotter alloc] initWithOptions:options];
[snapshotter startWithCompletionHandler:^(MKMapSnapshot *snapshot, NSError *error) {
// even if I do nothing in here, it still goes crazy
}];
Что мне здесь не хватает?