SDWebImage托管在github上。https://github.com/rs/SDWebImage
这个类库提供一个UIImageView类别以支持加载来自网络的远程图片。具有缓存管理、异步下载、同一个URL下载次数控制和优化等特征。
使用示范的代码:
UITableView使用UIImageView+WebCache类(基本应用,UIImageView的一个category)
前提#import导入UIImageView+WebCache.h文件,然后在tableview的cellForRowAtIndexPath:方法下:
1 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
2 static NSString *MyIdentifier = @"MyIdentifier";
3 UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
4 if (cell == nil) {
5 cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier] autorelease];
6 }
7 // Here we use the new provided setImageWithURL: method to load the web image
8 [cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
9 cell.textLabel.text = @"My Text";
10 return cell;
11 }
基本代码:[imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/image.jpg"]];
使用SDWebImageManager类:可以进行一些异步加载的工作。
SDWebImageManager *manager = [SDWebImageManager sharedManager];
UIImage *cachedImage = [manager imageWithURL:url]; // 将需要缓存的图片加载进来
if (cachedImage) {
// 如果Cache命中,则直接利用缓存的图片进行有关操作
// Use the cached image immediatly
} else {
// 如果Cache没有命中,则去下载指定网络位置的图片,并且给出一个委托方法
// Start an async download
[manager downloadWithURL:url delegate:self];
}
当然你的类要实现SDWebImageManagerDelegate协议,并且要实现协议的webImageManager:didFinishWithImage:方法。
// 当下载完成后,调用回调方法,使下载的图片显示
- (void)webImageManager:(SDWebImageManager *)imageManager didFinishWithImage:(UIImage *)image {
// Do something with the downloaded image
}
独立的异步图像下载
可能会单独用到异步图片下载,则一定要用downloaderWithURL:delegate:来建立一个SDWebImageDownloader实例。
downloader = [SDWebImageDownloader downloaderWithURL:url delegate:self];
这样SDWebImageDownloaderDelegate协议的方法imageDownloader:didFinishWithImage:被调用时下载会立即开始并完成。
独立的异步图像缓存
SDImageCache类提供一个创建空缓存的实例,并用方法imageForKey:来寻找当前缓存。
UIImage *myCachedImage = [[SDImageCache sharedImageCache] imageFromKey:myCacheKey];
存储一个图像到缓存是使用方法storeImage: forKey:
[[SDImageCache sharedImageCache] storeImage:myImage forKey:myCacheKey];
默认情况下,图像将被存储在内存缓存和磁盘缓存中。如果仅仅是想内存缓存中,要使用storeImage:forKey:toDisk:方法的第三个参数带一负值
来替代。
分享到:
相关推荐
总的来说,SDWebImage是一个强大且易用的iOS图片加载库,它的出现极大地简化了开发者处理网络图片的工作,提升了应用的性能和用户体验。结合源码中的中文注释,学习和使用起来更为便捷。无论你是初学者还是资深...
总的来说,21PHP多功能图片处理类是一个强大的工具,能够满足开发者在图片处理上的多样化需求,简化了代码,提高了开发效率。在实际项目中,合理利用这样的类库,可以使图片处理变得更加便捷和高效。
功能: 1.为UIImageView加载网络图片,为Cocoa Touch框架提供缓存管理。 2.异步图片下载 3.异步内存+磁盘图片缓存,自动缓存过期处理。...4.确保同一个url不会被加载很多次 5.确保虚假url不会被重复提交很多次
类库提供了一个方法来实现图片的等比例缩放,可以设置新的宽度或高度,自动计算另一个尺寸,保持原图的宽高比。这对于创建缩略图或者适应不同屏幕尺寸的展示非常有用。 2. 水印添加: 在图片上添加水印是保护版权...
SimpleImage是阿里巴巴的一个Java图片处理的类库,可以实现图片缩略、水印等处理。 SimpleImage中的ImageRender是图片处理的基类,它是一个抽象类,我们看到,该类中定义了一个抽象方法render(),同时持有一个对...
BulkLoader文件加载类库是一个高效且实用的工具,主要用于大批量数据的导入和导出操作。在IT领域,尤其是在数据库管理和大数据处理中,快速、批量地处理数据是至关重要的。BulkLoader类库就是为了满足这样的需求而...
通过以上介绍,我们可以看出SDWebImage是一个强大且全面的图片加载库,能够有效地解决iOS应用中网络图片加载的各种需求。无论你是新手还是经验丰富的开发者,都能从中受益。如果你在使用过程中遇到任何问题,可以...
"ok图片71207列表类库"看起来像是一个专门为E4A设计的图像处理或显示库,用于在应用中管理和展示图片列表。 这个类库的核心概念可能包含以下几个方面: 1. **列表视图(ListView)**:在Android开发中,ListView是...
总之,“一个人的牢状态栏类库”为易安卓开发者提供了一种高效、灵活的方式来管理应用的状态栏,提升了应用的整体视觉体验和用户互动性。通过充分利用这个类库,开发者可以专注于应用的核心功能,而不必过于担心状态...
在.NET框架中,C#语言提供了强大的功能来实现动态加载外部库,这包括VC++编译的动态链接库(.dll)以及C#自身编译的类库(.dll)。这个场景下的“动态加载”指的是在程序运行时,而不是在编译时决定要使用的库或者类...
1. **实例化类库**:根据类库文档创建一个水印对象,传递必要的配置参数。 2. **加载图片**:调用类库的函数读取要添加水印的图片文件。 3. **添加水印**:调用添加水印的方法,这通常会处理配置、计算位置并执行...
总结起来,“Android-一个可以加载超长图的类库的测试demo”是针对Android平台的大图加载问题提供的解决方案,利用“subsampling-scale-image-view”类库,开发者能构建高性能、用户友好的图片查看功能。通过学习和...
- **扩展Loader**: 为了方便地加载PEAR类库,需要自定义一个Loader类。上述代码片段展示了一个名为`FG_Loader`的类,它继承自CI默认的`CI_Loader`类。 - **方法重写**: 重写了`pear()`方法,用于加载指定的类库。该...
以上就是对"一个php连接mysql数据库操作类库"的详细解析,这个类库为PHP开发者提供了一种高效且安全的方式来管理和操作MySQL数据库,极大地简化了开发流程。通过熟练掌握和使用这样的工具,可以提升开发效率,减少...
验证码字符个数、生成图片宽度、高度自定均可由构造方法自定,无参构造生成默认字符个数和默认大小的Image,方法 GetImgWithValidateCode()返回生成的验证码图片,方法 IsRight(string inputValCode) 判断用户输入的...
为了高效地处理网络图片的下载,开发者通常会使用专门的类库,而"SDWebImage"就是其中一个非常著名的解决方案。本文将深入探讨SDWebImage的工作原理、功能特点以及如何在实际项目中应用。 SDWebImage是一个强大的...
本文将深入探讨一个基于纯JavaScript实现的图片局部放大镜类库,以及它如何与ASP.NET框架结合使用。 首先,我们要理解"纯JS图片局部放大镜类库"的概念。这是一种允许用户在网页上查看图片细节的工具,它通过在鼠标...
5. **性能优化**:一个好的分页类库应该考虑性能问题,避免一次性加载过多数据,该类库可能已经进行了优化,以减少内存消耗和提升响应速度。 6. **文档完整**:压缩包内包含详细的使用说明,帮助开发者快速理解和...
今天我们将深入探讨一个能够播放任意声音的类库,它不仅支持音乐播放,还涵盖了一系列音频格式,如MP3和WMV。这个类库为开发者提供了一种便捷的方式来集成音频播放功能,使得调用和参考变得简单易行。 首先,我们来...