我正在使用多点连接。
会话结束时,应用程序进入主菜单,所有网络内容都被释放,然后被释放。
但是我的 dealloc 方法是在主线程中调用的,MCSession
对象需要很长时间才能释放自己,我不知道为什么,因此主菜单屏幕冻结。
如果有人知道为什么MCSession
会这么长,我很感兴趣。但是如果它来自 MCSession 本身,这样做是一个好的解决方案吗?
-(void) dealloc
{
//... other release
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[_session release];
_session = nil;
});
[super dealloc];
}
编辑:不,这绝对不是一个好的解决方案,因为它使我的应用程序崩溃。无论如何,其他想法?