一,效果图. 二,代码. RootViewController.m //点击任何处出现sheet -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UIActionSheet * sheet = [[UIActionSheet alloc] initWithTitle:@"确定要清空图片缓存?" delegate:self cancelButtonTitle:@"取消" destruc…
背景: 使用 SDWebImage 库,由于内存中一直缓存着加载的图片,而导致内存过高(我们无法手动管理内存),弹出内存警告而导致程序很卡或者直接crash掉. 我的解决方法: 在AppDelegate.m文件中,引入SDWebImageManager.h 文件,然后使用它的内存警告方法,调用清除缓存方法:(注意这是清除内存中的缓存) - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application { // 停止下载…
手机客户端为什么会留存下来?而不是被一味的Wap替代掉?因为手机客户端有Wap无可替代的优势,就是自身较强的计算能力. 手机中不可避免的一环:图片缓存,在软件的整个运行过程中显得尤为重要. 先简单说一下图片缓存的作用: 提高响应速度 减少网络流量 提高用户体验 提高响应速度:因为图片一旦缓存在本地之后,那么本地IO数据的读取,远比网络中得IO读取效率要高的多.所以可以提高响应速度 减少网络流量:一张图片在某些情况下,只加载一次,之后便不会重新加载,减少了网络流量.减少流量肯定是必然的.介于国内的…
把图片缓存到本地,在很多场景都会用到,如果是只储存文字信息,那建一个plist文件,或者数据库就能很方便的解决问题,但是如果存图片到沙盒就没那么方便了.这里介绍两种保存图片到沙盒的方法. 一.把图片转为base64的字符串存到数据库中或者plist文件中,然后用到的时候再取出来 //获取沙盒路径, NSString *path_sandox = NSHomeDirectory(); //创建一个存储plist文件的路径 NSString *newPath = [path_sandox strin…
AFNetworking网络库已经提供了很好的图片缓存机制,效率是比较高的,但是我发现没有直接提供清除缓存的功能,可项目通常都需要添加 清除功能的功能,因此,在这里我以UIImageView+AFNetworking类中添加了下面一个清除功能方法: /** Clear image cache author: huangyibiao */ + (void)clearCache; /** Clear image cache author: huangyibiao */ + (void)clearCa…
//清除本地缓存 -(void)clearCache{ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,) , ^{ NSString *cachPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask, YES)objectAtIndex:]; NSArray *files = [[NSFileMa…
一,效果图. 二,代码. -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UIAlertView * alterView = [[UIAlertView alloc]initWithTitle:@"提示" message:@"以清除缓存" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确认", ni…
代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. //使图片两边不拉伸,中间拉伸 UIImage *image = [UIImage imageNamed:@"1.jpg"]; image = [image stretchableImageWithLeftCapWidth:floorf(image.size.width/2) topCapHe…
一,效果图. 二,工程图. 三,代码. ViewController.m - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //初始化界面 [self addView]; } #pragma -mark -functions //初始化界面 -(void)addView { UIImageView *imageVie…
一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController : UIViewController @end RootViewController.m #import "RootViewController.h" @interface RootViewController () @end @implementation RootViewContro…