您的位置:首页 > 理论基础 > 计算机网络

关于替换 UIWebView 网络模块的一些初步想法

2013-01-07 11:41 375 查看
使用了Chrome-iOS后开始思考这个问题,如何才能替换掉 UIWebView 的网络模块。

单纯解决这个问题,有两个方法:

1、实现 NSURLProtocol,替换 HTTP 协议的处理方式。

优点:正规

缺点:影响范围大

2、实现 NSURLCache,在对应的方法中用自己的网络模块发出请求。

优点:只影响 UIWebView

缺点:只能单线程加载资源。

需找资料

1、Chrome 的代码中有其对应的iOS平台代码,发现已经完成了网络模块的迁移,并可编译成 static lib。

2、导出 Chrome 的头文件,发现其实现了 HttpProtocolHandler,该类继承自 NSURLProtocol。

猜测与结论:iOS 版的 Chrome 是通过继承 NSURLProtocol 来替换 UIWebView 的网络栈。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: