iOS – asynchronouscaching和加载图像

我想为iOS的图像加载和caching库

  • 加载图像asynchronous,
  • caching图像,具有可configuration的caching大小和LRU行为,
  • 检查图像是否已被更新,使用HTTP HEAD,
  • 在发生错误代码或无效图像时不会caching任何内容。

我看了HJCache ,但是它只满足前两个标准。 有什么更好的吗?

我知道这个线程已经被回答,但是我已经尝试了一个工作良好的库。 我之前使用ASIHttpRequest,差别很大。

https://github.com/rs/SDWebImage

此外,如果有人需要resize或裁剪远程图像,并具有SDWebImage提供相同的function,我已经集成了SDWebImage库与UIImage + Resize库(Trevor Harmon),并创build了一个示例项目。 我修改了SDWebImage的代码来处理转换(裁剪,resize)。

该项目在https://github.com/toptierlabs/ImageCacheResize上公开。; 随意使用它!

编辑:现在ASI已被弃用,但@托尼的答案有一个链接到一个图书馆,似乎这样做大部分(声明 – 我还没有尝试过,并通过@托尼的build议!)


ASIHTTPRequest完成所有这些:)

所有你需要做的就是添加一些类似的成功callback

UIImage *image = [UIImage imageWithData:[request responseData]]; // If the image is nil ASIHTTPRequest will let you remove the data from the cache // but I can't remember off the top of my head how. Checkout the docs! 

编辑

而当你完成它,你可以随时popup到我们其他人的github上。 。 。

我最近看了一些你所描述的东西 – 无论是一般的数据caching,还是一个以图片为中心的东西 – 都没有发现太多的兴趣。 所以你可能不得不自己推出所有这些function。

有各种博客post和详细说明这些东西的东西,如http://davidgolightly.blogspot.com/2009/02/asynchronous-image-caching-with-iphone.html

我认为你已经考虑过Three20图书馆? 我不认为这会覆盖你的要求。