首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏一“技”之长

    iOS网络编程之六——数据缓存类NSURLCache使用解析

    iOS网络编程之六——数据缓存类NSURLCache使用解析 一、引言         在前面博客中,介绍了NSURLRequest请求类的相关使用方法,其中有介绍关于请求返回数据的缓存策略,实际上, iOS中具体缓存操作的管理是由NSURLCache类来实现的。 二、NSURLCache中方法与属性 //获取当前应用的缓存管理对象 + (NSURLCache *)sharedURLCache; //设置自定义的NSURLCache作为应用缓存管理对象 + (void )setSharedURLCache:(NSURLCache *)cache; //初始化一个应用缓存对象 /* memoryCapacity 设置内存缓存容量 diskCapacity 设置磁盘缓存容量

    49120发布于 2018-08-15
  • 来自专栏落影的专栏

    iOS的web缓存相关

    正文 一、缓存相关概念介绍 NSURLCache是iOS系统常用的web缓存方式,通过[NSURLCache sharedURLCache]获取默认的缓存相关信息;可以在启动的时候,通过[NSURLCache setSharedURLCache:URLCache]的方式设置一个自定义的NSURLCache。 NSCache和NSURLCache名字相近,其实没有什么关系;NSCache可以认为是一个字典缓存,在内存不足的时候会自动释放对象。 cacheStoragePolicy:NSURLCacheStorageAllowed]; [self.client URLProtocolDidFinishLoading:self]; } NSURLCache 和URLProtocol的差别: 1、NSURLCache只支持GET请求,URLProtocol还支持Post请求; 2、NSURLCache清理缓存通常使用removeAllCachedResponses

    1.3K30发布于 2020-05-18
  • 来自专栏戴铭的博客

    iOS预加载Web页面方案

    添加请求白名单 //NSURLProtocol相关设置 - (STMURLCacheMk *(^)(BOOL)) isUsingURLProtocol; //是否使用NSURLProtocol,默认使用NSURLCache 基本加载缓存实现原理 创建 STMURLCache 后设置 NSURLCache 的 URLCache ,在 cachedResponseForRequest 方法中获取 NSURLRequest 判断白名单 STMURLCache 对象释放时将 NSURLCache 设置为不缓存,表示这次预加载完成不需要再缓存。当缓存空间超出设置大小会将其清空。 使用 NSURLProtocol 这种原理基本类似。 NSURLCache的实现 没有缓存的 request 会对其进行请求将获取数据按照hash地址存两份于本地,一份是数据,一份记录时间和类型,时间记录可以用于判断失效时间。 *c = [[NSURLCache alloc] initWithMemoryCapacity:0 diskCapacity:0 diskPath:nil]; [NSURLCache

    2.3K10发布于 2020-06-16
  • 来自专栏王大锤

    iOS 处理缓存的三种方法

    简单来说就是用NSURLCache类,首先在AppDelegate.m里面的 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions :(NSDictionary *)launchOptions;方法里面创建一个NSURLCache的单例: //设置内存缓存大小     NSURLCache *URLCache = [[NSURLCache alloc] initWithMemoryCapacity:4 * 1024 * 1024 diskCapacity:10 * 1024 * 1024 diskPath:nil];     [NSURLCache request setCachePolicy:NSURLRequestReloadRevalidatingCacheData]; NSCachedURLResponse* response = [[NSURLCache

    1.1K90发布于 2018-05-17
  • 来自专栏一“技”之长

    iOS网络编程之一——iOS网络框架简介 原

    4.NSURLCache         在应用程序的开发中,为了减小对网络的依赖,提高程序性能,常常会对一些非实时性的数据进行缓存处理,NSURLCache类用于管理NSURLRequest请求缓存。

    1.5K21发布于 2018-08-16
  • 来自专栏岑志军的专栏

    清除WKWebView cookies

    在UIWebView下,可以使用 [[NSURLCache sharedURLCache] removeAllCachedResponses];//清除缓存 WKWebView清除cookies的方法

    3.8K40发布于 2018-05-28
  • 来自专栏正则

    AFNetworking源码探究(二十) —— UIKit相关之AFImageDownloader图像下载

    Each downloaded image is cached in the underlying `NSURLCache` as well as the in-memory image cache. By default, this is configured with an `AFImageResponseSerializer`, and a shared `NSURLCache` for all 默认情况下, // 这是通过一个AFImageResponseSerializer和一个共享的NSURLCache来配置所有的图片下载。 @returns The default `NSURLCache` instance. */ // 使用常用的使用参数值创建一个默认的NSURLCache + (NSURLCache *)defaultURLCache 每个下载的图像都缓存在底层的NSURLCache以及内存中的图像缓存中。 默认情况下,任何具有图像缓存中等效缓存图像的下载请求都将自动提供缓存图像表示。 2.

    1.1K20发布于 2021-09-03
  • 来自专栏coding...

    Objective-c 多线程操作 自定义NSOperation 模拟下载写在前面效果分析代码DEMO地址

    arrayWithObject:urlStr]; } #pragma mark - 加载图片 - (void)starDownloadImage { //设置内存缓存和磁盘缓存大小 NSURLCache *URLCache = [[NSURLCache alloc] initWithMemoryCapacity:self.MemoryCapacity * 1024 * 1024 diskCapacity :self.diskCapacity * 1024 * 1024 diskPath:nil]; [NSURLCache setSharedURLCache:URLCache]; //加载数据

    59760发布于 2018-08-23
  • 来自专栏iOSer成长记录

    AlamofireImage 源码阅读

    生成唯一的下载标识符,以检查下载过程中请求是否发生了更改 let handlerID = UUID().uuidString // 开始请求(这其中默认会去获取NSURLCache receiptID: receiptID) } return nil } 总结下载过程 1.在内存缓存对象(ImageCache)中获取缓存,如果有则返回图片 2.在NSURLCache 清除缓存完成,设置当前缓存的大小 self.currentMemoryUsage -= bytesPurged } } } 2.NSURLCache ,它我这里就不具体讲了,有兴趣的可以看这篇文章 http://nshipster.cn/nsurlcache/ 三、加载动画和滤镜 对于这一部分内容,我自己也没有使用过,所以下面只贴出源码加注释,有兴趣的读者可以自己去研究

    1.7K60发布于 2018-06-13
  • 来自专栏陈满iOS

    iOS复习中有关SDWebImage可能知识点总结(2)

    ) { /** * See #1608 and #1623 - apparently, there is a race condition on `NSURLCache if (self.options & SDWebImageDownloaderIgnoreCachedResponse && responseFromCached && [[NSURLCache

    1K10发布于 2018-09-10
  • 来自专栏日常技术分享

    iOS SDWebimage 源码阅读

    notify about the cached image // AND try to re-download it in order to let a chance to NSURLCache downloaderOptions &= ~SDWebImageDownloaderProgressiveDownload; // ignore image read from NSURLCache downloadedImage) { // Image refresh hit the NSURLCache cache, do not call the timeoutInterval = 15.0; } // In order to prevent from potential duplicate caching (NSURLCache image requests if told otherwise //创建请求对象,并根据options参数设置其属性 //为了避免潜在的重复缓存(NSURLCache

    1.4K10发布于 2018-12-18
  • 来自专栏陈满iOS

    [iOS源码笔记]·第三方网络图片处理框架:SDWebImage网络下载及缓存管理策略

    notify about the cached image // AND try to re-download it in order to let a chance to NSURLCache downloaderOptions &= ~SDWebImageDownloaderProgressiveDownload; // ignore image read from NSURLCache downloadedImage) { // Image refresh hit the NSURLCache cache, do not call the timeoutInterval = 15.0; } // In order to prevent from potential duplicate caching (NSURLCache

    2.4K10发布于 2018-09-10
  • 来自专栏云原生布道专栏

    【IOS开发基础系列】SDWebImageDownloader专题

    既ASIHttp+AsyncImage之后,我一直使用AFNetworking集成的UIImageView+AFNetworking.h,但后者对于图片的缓存实际应用的是NSURLCache自带的cache 而NSURLCache每次都要把缓存的raw  data 再转化为UIImage,就带来了数据处理和内存方面的更多操作。具体的比较在这里。          [[NSURLCache sharedURLCache] cachedResponseForRequest: _request]) {         responseFromCached= NO;     

    1.4K20编辑于 2023-10-16
  • 来自专栏腾讯Bugly的专栏

    H5 和移动端 WebView 缓存机制解析与实战

    iOS端: iOS的UIWebView组件不支持html5应用程序缓存的方式,对于协议缓存,可以使用sdk中的NSURLCache类。 应用安装后,会有对应的home目录,基于NSURLCache来实现数据的Cache,NSURLCache会存放在home内的子目录Library/ Caches下,以Bundle Identifier为文件夹名建立

    4.3K40发布于 2018-03-23
  • 来自专栏iOS开发攻城狮的集散地

    iOS WKWebView设置cookie方法总结

    这个问题首先你要明白,WKWebView有自己的进程,使用自己的存储空间来存储cookie和cache,WKWebView会忽视NSURLCache、NSHTTPCookieStorage、NSCredentialStorage

    7K31发布于 2021-09-07
  • 来自专栏Helloted

    源码分析之SDWebImage(一)

    会在图片下载的时候就显示(就像你用浏览器浏览网页的时候那种图片下载,一截一截的显示(待确认)) SDWebImageRefreshCached = 1 « 4,:一个图片缓存了,还是会重新请求.并且缓存侧略依据NSURLCache

    87420编辑于 2022-06-07
  • 来自专栏進无尽的文章

    工具篇- FBMemoryProfiler 内存泄漏的自动化排查框架

    CacheCleanerPlugin.h" @implementation CacheCleanerPlugin - (void)memoryProfilerDidMarkNewGeneration { [[NSURLCache

    2.7K20发布于 2018-09-12
  • 来自专栏技术总结

    单例的必要认识(深刻理解)

    UIApplication(应用程序实例) 2、NSNotificationCenter(消息中心): 3、NSFileManager(文件管理): 4、NSUserDefaults(应用程序设置): 5、NSURLCache

    522100发布于 2018-05-22
  • 来自专栏正则

    AFNetworking源码探究(六) —— AFURLSessionManager(2)

    有三个类工厂方法: + defaultSessionConfiguration 返回一个标准的 configuration,具有相同的共享 NSHTTPCookieStorage,共享 NSURLCache

    75230发布于 2021-09-02
  • 来自专栏云原生布道专栏

    【IOS】总结-AFNetworking学习笔记

    被发送到服务器或从服务器读取;delegate 还可用来处理 NSURLAuthenticationChallenge、重定向响应、或是决定 NSCachedURLResponse 如何存储在共享的 NSURLCache NSURLConnection这个名字,实际上指的是一组构成Foundation框架中URL加载系统的相互关联的组件:NSURLRequest,NSURLResponse,NSURLProtocol,NSURLCache NSURLSession也是一组相互依赖的类,它的大部分组件和NSURLConnection中的组件相同如NSURLRequest,NSURLCache等。 The URL resource cache, or nil to indicate that nocaching is to be performed */ @property (retain) NSURLCache NSURLSession类对象有几种方式: [objc] view plaincopy /* * The shared session uses the currently set global NSURLCache

    1.9K30编辑于 2022-03-08
领券