如果在iOS 9中加载了大量图像,应用程序将冻结

如果在iOS 9中加载了大量图像,应用程序将冻结,ios,core-data,restkit,ios9,sdwebimage,Ios,Core Data,Restkit,Ios9,Sdwebimage,如果我加载了大量图像,我的应用程序将从iOS 9开始冻结。我们的web服务器有时在交付所有图像时出现问题(网关超时),因此应用程序会冻结到超时。没有错误,应用程序在这之后就很好了。我正在使用SDWebImage和RestKit。我可以在模拟器中重现冻结。我在iOS 8上没有这个问题。在向服务器发送请求之前,我会删除所有缓存的响应:[[NSURLCache sharedullcache]removeAllCachedResponses] 应用程序在信号灯\u等待\u陷阱中冻结 RestKit线程的

如果我加载了大量图像,我的应用程序将从iOS 9开始冻结。我们的web服务器有时在交付所有图像时出现问题(网关超时),因此应用程序会冻结到超时。没有错误,应用程序在这之后就很好了。我正在使用SDWebImage和RestKit。我可以在模拟器中重现冻结。我在iOS 8上没有这个问题。在向服务器发送请求之前,我会删除所有缓存的响应:
[[NSURLCache sharedullcache]removeAllCachedResponses]

应用程序在
信号灯\u等待\u陷阱中冻结

RestKit线程的最后一行是self.cachedResponse=[[NSURLCache sharedullcache]cachedResponseForRequest:requestOperation.request]

SDWebImages线程的最后一行是
if(![[NSURLCache sharedullcache]cachedResponseForRequest:\u request])

如果我在冻结期间暂停调试,我会在调试导航器窗口中获得此输出(
YPI
类是我自己的):


非常感谢您的帮助。

找到原因:
[[NSURLCache sharedullcache]removeAllCachedResponses]导致UI挂起。删除这些行并为整个应用禁用
NSURLCache
后,问题消失了:

NSURLCache *sharedCache = [[NSURLCache alloc] initWithMemoryCapacity:0 diskCapacity:0 diskPath:nil];
[NSURLCache setSharedURLCache:sharedCache];

找到原因:
[[NSURLCache sharedullcache]removeAllCachedResponses]导致UI挂起。删除这些行并为整个应用禁用
NSURLCache
后,问题消失了:

NSURLCache *sharedCache = [[NSURLCache alloc] initWithMemoryCapacity:0 diskCapacity:0 diskPath:nil];
[NSURLCache setSharedURLCache:sharedCache];

我也有同样的问题,起初我认为这是我这边的核心数据并发问题,但在禁用缓存后,它工作正常。

我也有同样的问题,起初我认为这是我这边的核心数据并发问题,但禁用缓存后,它工作正常