zoukankan      html  css  js  c++  java
  • 关于替换 UIWebView 网络模块的一些初步想法

    使用了Chrome-iOS后开始思考这个问题,如何才能替换掉 UIWebView 的网络模块。

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

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

    优点:正规

    缺点:影响范围大

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

    优点:只影响 UIWebView

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

    需找资料

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

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

    猜测与结论:iOS 版的 Chrome 是通过继承 NSURLProtocol 来替换 UIWebView 的网络栈。

  • 相关阅读:
    tablespaces
    转 房价
    Duplicate a whole line in Vim
    Dubbo+JStorm
    replace all
    ORACLE 最后表数据更新的时间
    list reverse
    python IDE
    string 方法
    java JIT AOT
  • 原文地址:https://www.cnblogs.com/Proteas/p/2848947.html
Copyright © 2011-2022 走看看