SDWebImage:防止许多服务器请求

时间:2012-08-09 04:56:21

标签: iphone objective-c ios xcode sdwebimage

我正在使用SDWebImage框架在我的iPhone游戏中下载个人资料图片。

[cell.playerImage setImageWithURL:url placeholderImage: DefaultImage]; 

这很好用,但我担心服务器性能。每次重新加载tableView时,所有单元格都会调用上面的代码来尝试获取图像。并且tableView经常被真实地加载。

由于大多数玩家没有个人资料图片,因此会设置DefaultImage,但是我仍然想要不时检查对手玩家是否已经上传了一个profileImage,所以我可以得到它,但不是每个每个tableView重新加载。

你会怎么做呢?

提前致谢

1 个答案:

答案 0 :(得分:1)

第一次将文件目录保存在文档目录中,当它从名为playername.png或playerID.png的服务器请求图像时(根据需要改变你想要的唯一内容)。

在SDWebImage中,setImageWithURL的方法添加了这个逻辑:

if([[NSFileManager defaultManager] fileExistsAtPath:@"Your Player Image Path"])  
{
    // set image from local Path
}
else
{
   //request from server
   // save image in document Directory and then set that image
}