[cache.diskCache removeAllObjectsWithProgressBlock:^(int removedCount, int totalCount) { // progress } endBlock:^(BOOL error) { if (!error) { YYImageCache *cache = [YYWebImageManager sharedManager].cache; cache.diskCache.totalCost; } }]; 这个方法清除缓存, 再获取totalCost,会失效,而且会出现卡死的情况
Activity
ibireme commentedon Sep 1, 2016
endBlock 在锁的内部,目前可以先在 endBlock 里再 dispatch 一次执行。稍后会修复。
EchoZuo commentedon Dec 15, 2016
@ibireme 我貌似和他遇到了同样的问题,用的是最新的版本。。
请问这个锁死的问题解决了吗?
代码如下:
`YYImageCache *cache = [YYWebImageManager sharedManager].cache;
[cache.diskCache removeAllObjectsWithProgressBlock:^(int removedCount, int totalCount) {
NSLog(@"%d, %d",removedCount, totalCount)
} endBlock:^(BOOL error) {
if (error) {
[Utility showAlertWithString:@"清理缓存失败"];
}else{
}];`
loadingHUD是一个菊花样式,我想的是在endblock中结束菊花。但是现在的问题是,
进入endblock之后,走过了dismiss ,但是菊花还是没有停止。且走到下方重新获取缓存大小的那一行后就锁死了。。。没有任何办法操作。。
Jack-Rain commentedon Mar 24, 2017
非得用你的方法清除缓存么? 自己写方法操作 直接锁死了!