问题标签 [sdwebimage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - 当服务器上的图像文件更改时,我的应用程序中的 SDWebImage 缓存图像会发生什么情况?
我正在使用该SDWebImage
库在我的应用程序中缓存 Web 图像:
https://github.com/rs/SDWebImage/blob/master/README.md
当前使用情况:
我的问题是,一旦图像被缓存,然后几天后服务器上的图像文件被更新为新图像,会发生什么?
目前我的应用程序仍在显示缓存的图像。
我在任何文档中都看不到设置缓存超时或识别文件大小已更改的内容。
如果有人有使用这个特定库的经验,那么任何帮助将不胜感激。
提前致谢。
xcode - SDWebImage 和 UITableViewCell
我正在使用 SDWebImage 和 UITableView
哪个最适合前 6 个结果(可以立即查看的数量)
但是当我向下滚动列表时,它似乎只是重新使用前 6 个单元格中的图像,并且在某些单元格上,图像会根据它们在屏幕上的位置而变化。
另外,如果我调用 reloadData,之前 UITableCells 中的图像会留在屏幕上!
我在这里做错了吗?我已经按照 github 上的示例代码..
谢谢!
iphone - 清除 SDWebImage 缓存
我正在开发一个有新闻提要的 iPhone 应用程序。这个新闻提要是从我编写的 JSON Web 服务中提取的(目前在我笔记本电脑上的 MAMP 上)。
无论如何,我使用 MySQL DB 来存储对我的图像的引用,这些图像存储在 apache 文件系统中。
我以一种非常特殊的方式存储它们,这就是我存储它们的方式:
完整图片:ng_(postid)_(seqid)
拇指:tng_(postid)_(seqid)
PostID 是分配给每个新闻帖子的唯一 ID。
SeqID 是仅对该新闻帖子的照片唯一的 ID。
我可能没有说得很清楚......例如:
第一篇文章中的图像文件可能如下所示
第二篇文章的图像文件可能如下所示
到目前为止,这一直很好,但是我试图看看如果我删除了一个帖子,然后在它的位置重新创建了一个会发生什么?
假设我们有一个名为“Old Post”的帖子,它有 2 张图片,postid 为 7。
它的图像可能如下所示:
假设我们删除了该帖子,然后创建了一个新帖子,其中包含三张图片,称为“新帖子”。
它的图像将如下所示:
现在,问题来了……如果设备查看了已删除的旧帖子,然后查看了这个新帖子,他们将看到前两张图像是来自 OLD POST 的图像。不是新的。
为什么?SDWebImage 认为是因为 URL 相同,因此决定从磁盘中提取缓存的图像。它甚至不显示缓存的版本,然后检查图像是否已更新。
所以,我想出了两种可能的解决方案:
- 在显示缓存版本后,不知何故让 SDWebImage 检查在线图像
- 在我的 JSON 中传递一个键,告诉我的应用程序擦除 SDWebImage 的缓存(必要时)
所以,我的问题是,你将如何删除 SDWebImage 的缓存,或者在显示缓存版本后让它检查服务器?
objective-c - SDWebImage - setImageWithURL 完成加载时执行任务的方法
就像标题所说的那样。鉴于:
加载(或从缓存中提取)并显示图像后,执行任务的最佳方式是什么?
iphone - 奇怪的 UITableViewCellStyleSubtitle + [cell imageView] 行为
这个问题困扰了我一个月,我一直拒绝发布它,但我不能再坚持了。这是发生了什么:
我有一个带有UITableViewCell
s 的应用程序,全部初始化为UITableViewCellStyleDefault
. 对于每一个,我使用优秀的 SDWebImage 包设置图像视图的图像,它扩展了 UIImageView 以具有 [UIImageView setImageWithURL:(NSURL*)url placeholderImage:(UIImage*)image] 的方法。
问题是图像在 tableView 上显示的比应有的窄,但由于某种原因,选择一行使其大小正确。将行滚动到屏幕外,然后在屏幕上,然后在屏幕外滚动也是如此。
我应该使用什么方法来强制单元格重绘?我发现了一些相互矛盾的想法,但到目前为止都没有奏效。我觉得我错过了对 UITableView 到 UITableViewCell 的简单调用。另外,我在哪里打这个电话?我试过打电话cellForRowAtIndexPath
和willDisplayCell
。
谢谢你的帮助!
SDWebImage:https ://github.com/rs/SDWebImage
iphone - 延迟加载:如何将 SDWebImage 与当前项目集成?
我正在尝试在我的应用程序中实现延迟加载。我得到了SDWebImage
静态库。
现在我不知道如何将它集成到我当前的项目中。开始工作的步骤是什么?
任何完成我任务的教程都会有所帮助。
uitableview - SDWebImage : setImageWithURL 在用于设置 UITableViewCell 的图像时失败
当调用 setImageWithURL 时,它会失败并显示以下内容,
[UIImageView setImageWithURL:placeholderImage:]:无法识别的选择器发送到实例 0x149a20 2011-12-14 18:11:38.060 [781:707] 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[UIImageView setImageWithURL:placeholderImage:] : 无法识别的选择器发送到实例 0x149a20'
我可以确认我已SDWebImage
正确包含项目和所需的标头,因为我可以成功使用 SDWebImageManager。
以下是我调用 UIImageView 类别方法的代码setImageWithURL
objective-c - 为什么即使我释放大量内存以响应内存警告,iOS 也会终止我的应用程序?
即使在我释放大量内存以响应低内存警告之后,我也无法弄清楚为什么 iOS 会由于内存使用而终止我的应用程序(iPad、iOS 4)。例如,这是一个典型的终止场景,我经常记录内存使用情况——查看“app”使用情况,即每行的第一个 KB 值:
您可以看到应用程序内存使用量增加,直到它收到内存警告。然后我正确响应内存警告并释放一堆(250MB!)内存。那时我的应用程序被终止,iOS 进入 iPad 主屏幕。
此处的“内存使用情况”日志与我的logMemoryUsage() 函数一起显示,该函数基于此答案中的代码。
作为记录,我使用SDWebImage将 UIImages 缓存在内存中,但如图所示,它通过清空其缓存(此时相当大)来处理内存警告。我意识到我可以调整 SDWebImage 的缓存以不填充所有可用内存并等待内存警告,但这引出了以下问题......
为什么 iOS 会终止我的应用程序,即使我通过愉快地释放大量内存来响应内存警告?
iphone - 在 iO 上是否有用于图像缓存的框架?
我已经在使用 AFNetworking 进行异步图像下载。我想知道是否有办法存储在磁盘或核心数据上,我应该为此调查 SDWebImage 吗?或者你会建议有一个定制的解决方案。基本上我希望有一种非常透明的方式从 url 获取图像,所以首先在 NSCache 中查找它们,如果找不到,请在磁盘(或核心数据)上查找,如果找不到,请再次下载异步。感谢您的任何想法
iphone - 如何在没有任何缓存的情况下为一个实例使用 SDWebImage
每当我在表格视图中显示图像时,我几乎都会使用SDWebImage图像下载/缓存库。
我通常会这样实现它(在表格视图cellForRowAtIndexPath
方法中)。
如果它有一个缓存版本,那将加载一个缓存版本。
如果我想使用 SDWebImage 的简单性(使用占位符/强大的下载代码),但在一个地方没有缓存,该怎么办。
我知道如何在整个 SDWebImage 中禁用缓存,但我不知道您会如何调用setImageWithUrl: placeholderImage:
以确保 SDWebImage 不使用任何缓存?
我想这样做的原因是我正在使用它在表格视图中显示网络摄像头(显然,您希望每次都更新它)。