SDWebImageYYPlugin
是什么
SDWebImageYYPlugin 是 SDWebImage 框架的插件,它为 YYImage (包括 YYImage 的解码系统和 YYAnimatedImageView
) 及 YYCache 缓存系统提供图像加载支持。
通过使用 SDWebImageYYPlugin,您可以在 YYAnimatedImageView
上使用所有熟悉的 SDWebImage 加载方法。
此外,您还可以使用 YYCache
而不是 SDImageCache
作为图像缓存系统,这可能更好地提高了内存缓存性能(通过利用 LRU 算法),以及磁盘缓存性能(通过利用 sqlite blob 存储)。
长期维护
该仓库是为了展示 SDWebImage 5.0 的定制功能而创建的。但实际上不推荐在商业应用中使用。
由于上游的YYImage/YYCache已经不再维护,SDWebImage本身也比起旧版本有了更高的性能。我将不会始终更新与SDWebImage内部版本的兼容性。这个仓库在未来(比如SDWebImage 6.0)将会被弃用。但对于错误修复的PR仍然欢迎。
使用方法
YYImage 插件
要加载网络图片,只需像UIImageView一样调用视图类方法即可。
- Objective-C
YYAnimatedImageView *imageView;
[imageView sd_setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.gif"]];
- Swift
let imageView: YYAnimatedImageView
imageView.sd_setImage(with: URL(string: "http://www.domain.com/path/to/image.gif"))
对于高级用户,您可以通过使用包装类SDImageYYCoder将YYImageDecoder
及YYImageEncoder
嵌入到SDWebImage中。请参阅SDWebImage中的自定义编码器wiki页面。
- Objective-C
// Register YYImage decoder/encoder as coder plugin
[SDImageCodersManager.sharedManager addCoder:SDImageYYCoder.sharedCoder];
- Swift
// Register YYImage decoder/encoder as coder plugin
SDImageCodersManager.shared.addCoder(SDImageYYCoder.shared)
YYCache 插件
要启用YYCache
而不是SDImageCache
,您可以将缓存绑定到共享管理器,或者创建一个自定义管理器。
- Objective-C
// Use `YYCache` for shared manager
SDWebImageManger.defaultImageCache = [YYCache cacheWithName:@"name"];
- Swift
// Use `YYCache` for shared manager
SDWebImageManger.defaultImageCache = YYCache(name: "name")
您还可以使用YYMemoryCache
或YYDiskcache
来定制仅内存缓存/磁盘缓存。请参阅SDWebImage中的自定义缓存wiki页面。
- Objective-C
// Use `YYMemoryCache` for shared `SDImageCache` memory cache implementation
SDImageCacheConfig.defaultCacheConfig.memoryCacheClass = YYMemoryCache.class;
// Use `YYDiskCache` for shared `SDImageCache` disk cache implementation
SDImageCacheConfig.defaultCacheConfig.diskCacheClass = YYDiskCache.class;
- Swift
// Use `YYMemoryCache` for `SDImageCache` memory cache implementation
SDImageCacheConfig.default.memoryCacheClass = YYMemoryCache.self
// Use `YYDiskCache` for `SDImageCache` disk cache implementation
SDImageCacheConfig.default.diskCacheClass = YYDiskCache.self
需求
- iOS 9+
- Xcode 12+
安装
CocoaPods
SDWebImageYYPlugin 通过 CocoaPods 提供使用。要安装它,只需将以下行添加到您的 Podfile
pod 'SDWebImageYYPlugin'
SDWebImageYYPlugin 包含两个子模块,YYCache
和 YYImage
。您可以选择只启用其中一些。默认情况下将包含所有子模块。
pod 'SDWebImageYYPlugin/YYImage'
pod 'SDWebImageYYPlugin/YYCache'
Carthage
SDWebImageFLPlugin 通过 Carthage 提供。
github "SDWebImage/SDWebImageYYPlugin"
Carthage 不支持像 CocoaPods 的子模块,生成的框架将包含 YYCache 和 YYImage 支持。
注意,由于 YYImage Carthage 支持的限制,使用 Carthage 的 YYImage 插件将不支持 WebP 格式。如果您想支持 WebP 格式,请使用 CocoaPods。
作者
DreamPiggy, [email protected]
许可协议
SDWebImageYYPlugin 在 MIT 许可证下可用。更多信息请参阅 LICENSE 文件。