iOS内存警告浅析
在开发中,内存的资源是很宝贵的.所以合理的管理项目的内存是恨重要的.
在项目中,最消耗内存的,莫过于图片.我们都知道,最常用的获取图片的方式是[UIImage imageName:@"image"];是这种方式,这种方式有一个机制,就是自动的有缓存.还有一种常用的方式是:[UIImage imageWithContentsOfFile:"fileName"];这种方式是没有缓存的.总结:由上可知,如果你想获娶大的图片,再加上不常用到此图片,建议使用第二种方式来加载图片,这样效率会比较高.
回到正题:当在项目中发生内存警告,应该怎么办.
可以在代理类中重写下面的方法:(这个方法是在项目的内存发生警告的时候执行的,SDWebImageManager是SDWebImage框架的一个类.)
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
SDWebImageManager *manager = [SDWebImageManager sharedManager];
// 1.如果有正在下载的图片,应该先取消下载
[manager cancelAll];
// 2.然后再清除内存中的图片
[manager.imageCache clearMemory];
}
OKle