iOS定制NSURLProtocol实现离线缓存

[版权声明] 本站内容采用 知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆 (CC BY-NC-SA 3.0 CN) 进行许可。
部分内容和资源来自网络,纯学习研究使用。如有侵犯您的权益,请及时联系我,我将尽快处理。
如转载请注明来自: Broly的博客,本文链接: iOS定制NSURLProtocol实现离线缓存

iOS如果直接用UIWebView直接加载网页,这种方法实现网页浏览最简单,理论上是没什么问题的。然而实际生产开发中,会碰到需要问题,比如:

  • 网页图片太多响应慢
  • 手机网络不好响应慢
  • 网页前端Javascript插件太多响应慢
  • 服务器并发高压力大响应慢
  • ......

很多问题都会导致网页加载响应慢。所以就引出本文的主题,利用离线缓存优化加载流程,提升用户体验,同时可以一定程度上分散服务器压力。

iOS提供了个非常强大的功能给我们 —— NSURLProtocol

其强大之处在于可以拦截请求,然后自定义Response返回给UIWebView!

实现步骤

  1. 添加一个webview

WebViewController.h

WebViewController.m

 

2. 添加自定义的NSURLProtocol

CustomURLProtocol.h

CustomURLProtocol.m

 

如果本文对您有所帮助,可以请作者喝杯咖啡,感谢支持^_^

支付宝支付
微信支付

发表评论

电子邮件地址不会被公开。 必填项已用*标注