MKMapSnapshotter在模拟器中似乎使用高达2GB的RAM,并触发内存警告并在设备上长时间挂起我的应用程序。我不确定我的设置的哪一部分导致了这一点。
当同时检索多个图像时会出现这种巨大的用法,但即使一个接一个地检索多个图像,似乎使用了大量的RAM,峰值时为600MB,并且使用高达190%的CPU占用CPU。我已经尝试删除所有其他逻辑,甚至在请求后保存图像,以及巨大的RAM& CPU使用率仍然存在。
这不是故意的。必须有一些我没有设置的东西,导致这个失控的资源占用。这是我的选项代码:
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
}];
我在这里缺少什么?