SDWebImageYYPlugin 0.9.0

SDWebImageYYPlugin 0.9.0

DreamPiggyBogdan Poplauschi 维护。



  • DreamPiggy

SDWebImageYYPlugin

CI Status Version License Platform Carthage compatible codecov

是什么

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将YYImageDecoderYYImageEncoder嵌入到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")

您还可以使用YYMemoryCacheYYDiskcache来定制仅内存缓存/磁盘缓存。请参阅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 包含两个子模块,YYCacheYYImage。您可以选择只启用其中一些。默认情况下将包含所有子模块。

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 文件。