当前位置:首页 » 文件管理 » web图片缓存

web图片缓存

发布时间: 2024-12-26 00:21:01

A. SDWebImage清理缓存处理

SDWebImage对图片的缓存分两种,一种是缓存到磁盘上,一种是御歼弯缓存在内存中。在加载图片时,首先会从内存中寻找缓存图片,如果没有再从磁盘缓存中寻找,实在没有才会从网络请求图片。既然有缓存,那就免不了对缓存的清理,不然一直缓存不清镇闷理,会导致内存暴涨和磁盘空间的大量占用。

在使用SDWebImage加载图片的时候 其实已经初始化过SDImageCache单例了。在SDImageCache单例里添加了几个通知:

这三个通知分别是在app收到内存警告时清理缓存,在app将要退出时 删除旧的缓存文件,还有在app进入后台后,删除旧的缓存文件。也就是说,默认情况下SDWebImage已经为我们做了一些缓存的清理了。

SDImageCache提供了一个动态控制最大缓存图片像素数量的方法。像素和内存单位不同,下面我设置了最大像素为1000 * 1000 * 30 px 大概相当于几十兆的内存大小。这样我的app里缓存在内存中的的图片大小就会控制在几十兆改碧的范围内。
[SDImageCache sharedImageCache].maxMemoryCost = 1000 * 1000 * 30;

在app回到后台和收到内存警告开始清理图片缓存时,会将磁盘里超过该值的缓存图片清理掉。

下面我设置的为最大50M的缓存空间
[SDImageCache sharedImageCache].config.maxCacheSize = 1024 * 1024 * 50;

B. web开发方面会遇到哪些缓存分别如何优化

  • Web缓存定义:

  1. Web缓存游走于服务器和客户端之间,这个服务器可能是源服务器(资源所驻留的服务器Add),数量可能是1个或多个。

  2. Web缓存就在服务器-客户端之间搞监控,监控请求,并且把请求输出的内容(例如html页面、 图片和文件)(统称为副本)另存一份,然后,如果下一个请求是相同的URL,则直接请求保存的副本,而不是再次麻烦源服务器。

  • Web缓存的2个主要原因:

  1. 降低延迟:缓存离客户端更近,因此,从缓存请求内容比从源服务器所用时间更少,呈现速度更快,网站就显得更灵敏。

  2. 降低网络传输:副本被重复使用,大大降低了用户的带宽使用,其实也是一种变相的省钱(如果流量要付费的话),同时保证了带宽请求在一个低水平上,更容易维护了。

  • Web缓存的类型:

  1. 浏览器缓存
    在任何现代浏览器上(如IE, FireFox, Chrome)折腾清除隐私数据的对话框,你很可能会注意到“缓存”这个设置项。

  2. 代理服务器缓存
    Web代理服务器使用同样的缓存原理,只是规模更大。代理以同样的方式服务千万用户,大公司和ISP经常在他们的防火墙或者单独的设备(也被称为中介(intermediaries))上架设代理缓存。

  3. 网关缓存
    也被称为“反向代理缓存”或“替代缓存”。网关缓存同样是起中介作用的,不过不是网络管理员部署的,而多半是网站管理员(公司专门的运维工程师、或UED或程序组某人Add)部署,这样更容易扩展与维护。

热点内容
王者荣耀乔晶晶的密码是多少 发布:2025-03-14 17:02:34 浏览:975
天天酷跑辅助工具脚本 发布:2025-03-14 17:00:42 浏览:832
游戏配置情况怎么样 发布:2025-03-14 16:55:39 浏览:788
积分赚源码 发布:2025-03-14 16:44:51 浏览:837
ftp文件打不开文档 发布:2025-03-14 16:37:00 浏览:161
排列概率算法 发布:2025-03-14 16:26:35 浏览:373
caffepython使用 发布:2025-03-14 16:13:17 浏览:232
小明加密访问 发布:2025-03-14 16:12:36 浏览:863
mysql怎么导出数据库 发布:2025-03-14 15:47:52 浏览:990
录制的视频怎么保存到存储卡 发布:2025-03-14 15:46:19 浏览:796