SDWebImagePINPlugin
用途
SDWebImagePINPlugin 是 SDWebImage 框架的插件,它为 PINCache 缓存系统提供图像加载支持。
您可以使用 PINCache
而非 SDImageCache
作为图像缓存系统,这可能会更好地提高内存缓存性能(通过高级 LRU 算法)和磁盘缓存性能(通过高级队列管理和年龄/字节 LRU 算法)。
使用方法
PINCache
要启用 PINCache
而非 SDImageCache
,您可以绑定共享管理器的缓存或创建一个自定义管理器。
- Objective-C
// Use `PINCache` for shared manager
SDWebImageManger.defaultImageCache = [PINCache cacheWithName:@"name"];
- Swift
// Use `PINCache` for shared manager
SDWebImageManger.defaultImageCache = PINCache(name: "name")
您还可以通过 .imageCache
上下文选项将自定义缓存附加到单个图像请求。
- Objective-C
// Use `PINCache` for single URL request
[imageView sd_setImageWithURL:url placeholderImage:nil options:0 context:@{SDWebImageContextImageCache: @(pinCache)} progress:nil completion:completion];
- Swift
// Use `PINCache` for single URL request
imageView.sd_setImage(with: url, placeholderImage: nil, context: [.imageCache : pinCache], progress: nil, completion: completion);
PINDiskCache && PINMemoryCache
还可以使用 PINMemoryCache
或 PINDiskcache
仅定制内存缓存/磁盘缓存。请参阅 SDWebImage 的 自定义缓存 维基。
- Objective-C
// Use `PINMemoryCache` for shared `SDImageCache` memory cache implementation
SDImageCacheConfig.defaultCacheConfig.memoryCacheClass = PINMemoryCache.class;
// Use `PINDiskcache` for shared `SDImageCache` disk cache implementation
SDImageCacheConfig.defaultCacheConfig.diskCacheClass = PINDiskcache.class;
- Swift
// Use `PINMemoryCache` for `SDImageCache` memory cache implementation
SDImageCacheConfig.default.memoryCacheClass = PINMemoryCache.self
// Use `PINDiskcache` for `SDImageCache` disk cache implementation
SDImageCacheConfig.default.diskCacheClass = PINDiskcache.self
要求
- iOS 9+
- tvOS 9+
- macOS 10.11+
- watchOS 2.0+
- Xcode 11+
安装
CocoaPods
通过CocoaPods 可以获取 SDWebImagePINPlugin。安装时,只需在 Podfile 中添加以下行
pod 'SDWebImagePINPlugin'
Carthage
SDWebImagePINPlugin 通过 Carthage 提供。
github "SDWebImage/SDWebImagePINPlugin"
Swift Package Manager (Xcode 11+)
通过 Swift Package Manager 可以获取 SDWebImagePINPlugin。
let package = Package(
dependencies: [
.package(url: "https://github.com/SDWebImage/SDWebImagePINPlugin.git", from: "0.3.0")
]
)
作者
DreamPiggy, [邮箱地址保护,请删除]@example.com
许可证
SDWebImagePINPlugin适用于MIT许可证。有关更多信息,请查看LICENSE文件。