iphone - 如何在没有任何缓存的情况下为一个实例使用 SDWebImage

标签 iphone ios caching tableview sdwebimage

我使用 SDWebImage几乎每次我在表格 View 中显示图像时,图像下载/缓存库。

我通常会像这样实现它(在 TableView cellForRowAtIndexPath 方法中)。

[cell.imageView setImageWithURL:
[NSURL URLWithString:@"http://asite.com/animage.jpg"] 
placeholderImage:[UIImage imageNamed:@"placeholder.png"]];        

如果它有一个缓存版本,那将加载它。

如果我想在一个地方使用 SDWebImage 的简单性(带有占位符/强大的下载代码),但没有缓存呢?

我知道如何在整个 SDWebImage 中禁用缓存,但我不知道您将如何调用 setImageWithUrl: placeholderImage: 确保 SDWebImage 不使用任何缓存?

我想这样做的原因是我用它在表格 View 中显示网络摄像头(显然,您希望每次都更新它)。

最佳答案

我建议放弃 UIImageView 上的类别并创建您自己的 SDWebImageManager 版本。如果您自己使用 SDImageCache 类,您将获得更多控制权。

这里是 SDWebImageManager 本身的示例:

[[SDImageCache sharedImageCache] storeImage:image
                                  imageData:downloader.imageData
                                     forKey:[downloader.url absoluteString]
                                     toDisk:NO];

toDisk 可能是我将 BOOL 更改为 NO 的地方,默认管理器使用磁盘缓存。您可能还想经常清除内存以支持您的流式图像:

[[SDImageCache sharedImageCache] clearMemory];

SDWebImageManager 代码很容易理解,我想您不需要重新发明大部分代码,只需几个重要部分即可满足您的需求。

关于iphone - 如何在没有任何缓存的情况下为一个实例使用 SDWebImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8751782/

相关文章:

iphone - 如何在 MKMapView 中添加 UISegmentedControl?

java - 带有 Appium 的 iOS Web 测试

java - 如何以编程方式清除android M(6.0)中其他应用程序的缓存

iphone - uitabbar 的顶 View Controller

iphone - 在 Objective C 中更改字体样式 -(以全大写格式设置标签文本)

ios - .gitignore 用于 Xcode 项目

caching - 将redis用于树数据结构

php - 获取有关缓存的更新数据

iphone - 创建一个 3D 会说话的角色 iPhone 应用程序

iphone - 文件解压内存占用