当前位置:首页 » 文件管理 » 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)部署,这样更容易扩展与维护。

热点内容
vivo微信怎么加密码锁 发布:2024-12-26 11:34:14 浏览:403
对蚁群算法 发布:2024-12-26 11:15:53 浏览:807
tiobe编程语言社区 发布:2024-12-26 10:48:11 浏览:423
日立存储微码升级 发布:2024-12-26 10:43:48 浏览:152
如何建立家庭网站服务器 发布:2024-12-26 10:40:46 浏览:185
安卓显示e是什么意思 发布:2024-12-26 10:35:13 浏览:705
电磁炉编程 发布:2024-12-26 10:30:51 浏览:97
经典福克斯压缩比是多少 发布:2024-12-26 10:26:33 浏览:747
存取速度最快的存储器是 发布:2024-12-26 10:17:39 浏览:66
我的世界服务器只能边跳边走 发布:2024-12-26 09:55:26 浏览:464