我正在使用SDWebImage框架在我的iPhone游戏中下载个人资料图片。
[cell.playerImage setImageWithURL:url placeholderImage: DefaultImage];
这很好用,但我担心服务器性能。每次重新加载tableView时,所有单元格都会调用上面的代码来尝试获取图像。并且tableView经常被真实地加载。
由于大多数玩家没有个人资料图片,因此会设置DefaultImage,但是我仍然想要不时检查对手玩家是否已经上传了一个profileImage,所以我可以得到它,但不是每个每个tableView重新加载。
你会怎么做呢?
提前致谢
答案 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
}