1.- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error{} // 这个方法有内存泄露
// leo加了这个:防止内存泄露!
[session finishTasksAndInvalidate];
2.一个好的链接说明SDWebImage的内存问题:
http://www.jianshu.com/p/e6e52efc5a35
3.UIImage *diskImage = [self diskImageForKey:key];引起的内存增长
清除cache,只要在合适的时机去调用它就行
[[SDImageCache sharedImageCache] setValue:nil forKey:@"memCache"];
网上说把它放在applicationDidReceiveMemoryWarning里调用,但是我没有,因为在一些老机型里,比如iPhone4,内存爆炸的时候瞬间就crash了,来不及去调这个,所以我建议在做一些大图片多图片处理的时候,最好随时的去清理一下。
4.查看我的文章《新的SDWebImageCache.m解决内存增加很多...》
我测试了,这个还是不行,草!
5.SDWebImage内存泄露
https://github.com/rs/SDWebImage/issues/53
SDImageCache *imageCache = [SDImageCache sharedImageCache];
[imageCache clearMemory];
solved the problem before return cell.
网友评论