增强UIWebView的cache
来源:互联网 发布:python snmpwalk函数 编辑:程序博客网 时间:2024/05/16 23:47
尝试了一下增强UIWebView的cache。不过实际效果并不理想。即便有cache,消除了从新联网请求都时间,但是重新排版时间仍然很长。UIWebView对前进后退都响应速度没明显改善。
这里介绍简单粗暴的利用文件系统增加cache的方法。
基本原理是继承NSURLCache,并替换默认NSURLCache实例。在发现cache未命中都时候,去请求cache内容。因为UIWebView并不返回所有内容给NSURLCache。具体可以自己跟踪一下里面保存cache的方法。UIWebView每请求一个页面,只会存一次cache,即页面都cache。其他图片,css,js都不会保存。而且实际上也没进内存,NSURLCache默认都实现貌似是抛弃了结果。因为每次从新查询cache都是空返回。
这里基于AISHTTPRequest,这样不需要自己写队列和处理cookie。
可以去这里下http://allseeing-i.com/ASIHTTPRequest/
很好很强大都开源代码
也可以用NSData直接通过url请求,不过这样出了要考虑cookie以外,靠多线程处理会需要一下开很多线程,要么自己写队列。
顺便鄙视一下csdn插入代码不支持objectiv c
继承NSURLCache
实现文件cache
UIWebView会通过cachedResponseForRequest方法查询cache。
这时候可以提交我们自己的cache。
同时,如果cache没有命中,可以利用传入的NSURLRequest发送请求。
这里利用了ASIHTTPRequest的异步方法,发送请求。
为了利用ASIHTTPRequest都队列,还修改了一下这个类,增加了一个引用,记录了对应都NSURLRequest。
这样在回调requestFinished方法时,就能知道是那个请求,保存cache。
最后去AppDelegate里替换掉全局的NSURLCache
搞定收工
- 增强UIWebView的cache
- 通过NSURLProtocol来做UIWebView的cache
- How to clear UIWebView cache?
- Intel MCE 之增强的CACHE ERROR REPORTING
- 55.iOSwebview cache 实现UIwebview离线缓存
- how to avoid css and js cache in UIWebView
- UIWebView的使用
- UIWebView 的一点理解
- UIWebView的用法
- UIWebView的使用
- UIWebView的点击事件
- UIWebView的点击事件
- UIWebView的使用
- UIWebView的使用方法
- UIWebView 的使用
- UIWebView的使用
- UIWebView的内存泄露
- UIWebView的相关操作
- 表单提交数据get请求和post请求的区别
- Linux学习之GCC&GDB,Makefile
- 大家好!!
- 数据通信基础
- 写在冬日的第一天--一个女程序员第六年工作总结
- 增强UIWebView的cache
- 毕业了,何去何从?
- js事件加载
- 让页面加载前执行js等事件(1)
- Windows PowerShell 2.0之条件表达式的分析
- Test
- 跨浏览器的iframe onload 事件监听
- dddddddddddddddddd
- Iframe嵌入--关于onload与document.domain