WKWebView缓存+请求拦截(对比VasSonic)

2021-01-22  本文已影响0人  上官soyo

上一篇文章介绍了WKWebView如何网络请求拦截WKWebView完美网络请求拦截
,最近终于有时间做缓存了。
源码见SSWKURL

缓存

实现比较简单,就是内存和磁盘IO的二级缓存。
策略可以自由控制。比如通常不缓存POST请求,不缓存Ajax,不缓存视频

    BOOL shouldCache = YES;
    if (request.HTTPMethod && ![request.HTTPMethod.uppercaseString isEqualToString:@"GET"]) {
        shouldCache = NO;
    }
    NSString *hasAjax = [request valueForHTTPHeaderField:@"X-Requested-With"];
    if (hasAjax != nil) {
        shouldCache = NO;
    }

缓存性能

用bilibili单页面测试,缓存前完成加载约4~5秒。缓存后约0.8-1秒。
跟WebView自身的HTTP缓存策略性能类似。性能区别不大
可以大幅度提升首屏加载的性能。(因为Webview首次加载肯定没有缓存)
仍然有进一步优化的空间。

image.png

对比vassonic

优势:

劣势:

上一篇 下一篇

猜你喜欢

热点阅读