vm2*_*000 10 mapkit grand-central-dispatch ios ios7 mkmapsnapshotter
我正在尝试使用新的iOS7 MKMapSnapshotter来生成静态地图图像.每当我的应用需要地图时,我都会调用以下内容:
MKMapSnapshotter *snapshotter = [[[MKMapSnapshotter alloc] initWithOptions:theOptions] autorelease];
dispatch_queue_t aQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0);
DebugLog(@"Snapshotter allocated %@ and run on queue %@", snapshotter, aQueue);
[snapshotter startWithQueue:aQueue completionHandler:^(MKMapSnapshot *snapshot, NSError *error) {
DebugLog(@"Snapshotter completion block %@", snapshotter);
// perform selector on main thread to set self.imageView.image = shanpshot.image;
}
Run Code Online (Sandbox Code Playgroud)
在大多数情况下,这很有效.但有时,似乎设备因地图请求而过载,然后停止渲染.在我的日志文件中,我将看到关于"已分配的Snapshotter"的第一个日志语句,但从未看到"Snapshotter完成块"消息.
是否有可能我的请求永远不会从调度队列中执行?有没有人遇到过这个问题?
| 归档时间: |
|
| 查看次数: |
748 次 |
| 最近记录: |