SkillAgentSearch skills...

LongImageCache

It's a tool for image

Install / Use

/learn @lizilong1989/LongImageCache
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

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];

运行Demo

进入ImageCacheDemo路径下执行,点击ImageCacheDemo.xcworkspace即可运行

pod install

播放GIF与SDWebImage性能对比

相同两张gif图片,使用iphone8模拟器,虽然使用了一定的cpu,但是对内存消耗差距十分明显(选取的gif图片帧数较多,分别是209和135)

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

image

播放效果:

image

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

image

播放效果:

image

使用的gif素材:

<img width="215" height="181" src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1507717762475&di=8e388d038a3a65469db35e53a9b45743&imgtype=0&src=http%3A%2F%2Fimg.zcool.cn%2Fcommunity%2F01a9f35542a2430000019ae979d241.jpg"/> <img width="215" height="181" src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1508757634798&di=d70c6bc2ac001a4ea10dc9698c77b0fb&imgtype=0&src=http%3A%2F%2Fimg.zcool.cn%2Fcommunity%2F0188a958a9ad69a801219c77cff8f7.gif"/>

Relase Note

v1.0.5

  • 优化缓存set和get性能以及写入本地的性能(根据key的hash值,写入文件时分配不同的异步线程队列,提高执行效率)
  • 添加imageview可以设置多张图片并播放(非gif情况)

v1.0.4

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

v1.0.3

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

v1.0.2

  • 修复设置空url导致的crash问题

v1.0.1

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

v1.0.0

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

Related Skills

View on GitHub
GitHub Stars14
CategoryDevelopment
Updated2y ago
Forks3

Languages

Objective-C

Security Score

65/100

Audited on Nov 18, 2023

No findings