测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | 自定义 |
发布最新发布 | 2017年12月 |
依赖 | |
LongDispatch | ~> 1.0.3 |
LongRequest | ~> 1.0.1 |
这是一个简单的图片缓存库,同时使用了 LongRequest(文件下载)和 LongDispatch(多任务),实现了一个较为完整的缓存机制,默认支持 GIF 图片播放。
1. 使用 Cocoapods 来集成 LongImageCache,集成方法如下:
pod 'LongImageCache'
//首先引入header
#import "UIImageView+LongCache.h"
//缓存图片
NSString *url = @"http://127.0.0.1/test.jpg";
[imageView setImageWithUrl:url placeholderImage:nil toDisk:YES];
#import "LongPhotoBrowser.h"
//进图图片浏览
[[LongPhotoBrowser sharedInstance] showWithUrls:@[@"http://127.0.0.1/test.jpg"] withIndex:0];
//首先引入header
#import "UIImageView+LongCache.h"
UIImageView *imageView = [[UIImageView alloc] init];
//设置图片文件数组
[imageView setImagesWithNames:@[@"xxx1.png",@"xxx2.png",@"xxx3.png"]];
//这是播放间隔,这里用displaylink实现,所以不能小于1/60
imageView.animationDuration = 1/24;
//播放图片
[imageView startAnimating];
进入 ImageCacheDemo 路径下执行,点击 ImageCacheDemo.xcworkspace 即可运行。
pod install
使用相同的两张 GIF 图片,使用 iPhone8 模拟器,尽管消耗了 CPU 资源,但内存消耗的差距十分明显(选用的 GIF 图像帧数较多,分别为 209 和 135)。
使用 SDImageCache 播放 GIF 图像时的内存和 CPU 消耗
播放效果
使用 LongImageCache 播放 GIF 图像时的内存和 CPU 消耗
播放效果
使用的 GIF 素材: