LongImageCache 1.0.5

LongImageCache 1.0.5

测试已测试
语言语言 Obj-CObjective C
许可证 自定义
发布最新发布2017年12月

zilong.lizilong.li 维护。



 
依赖
LongDispatch~> 1.0.3
LongRequest~> 1.0.1
 

  • zilong.li

LongImageCache

这是一个简单的图片缓存库,同时使用了 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 与 SDWebImage 性能对比

使用相同的两张 GIF 图片,使用 iPhone8 模拟器,尽管消耗了 CPU 资源,但内存消耗的差距十分明显(选用的 GIF 图像帧数较多,分别为 209 和 135)。

使用 SDImageCache 播放 GIF 图像时的内存和 CPU 消耗

image

播放效果

image

使用 LongImageCache 播放 GIF 图像时的内存和 CPU 消耗

image

播放效果

image

使用的 GIF 素材:

版本说明

v1.0.5

  • 优化缓存 set 和 get 性能以及写入本地的性能
  • 添加 imageview 可以设置多张图片并播放(非 GIF 情况)

v1.0.4

  • 为 UIImageView+LongCache 添加本地 GIF 图片设置
  • 针对 UIImageView+LongCache 进行优化
  • LongPhotoBrowser 图片浏览添加简单功能
  • 修复图片下载阻塞的 bug

v1.0.3

  • 提高 GIF 图片播放性能,降低内存和 CPU 的消耗
  • 对 imagecache 进行性能优化

v1.0.2

  • 修复设置空 URL 导致的崩溃问题

v1.0.1

  • 添加支持图片浏览功能的 LongPhotoBrowser,可以简单浏览图片

v1.0.0

  • 轻量级的 ImageCache,支持网络图片加载,GIF 播放等功能