Android-推荐一个加快WebView访问速度的开源库(Ca

2022-08-18  本文已影响0人  阿博聊编程
图片来源网络,入侵必删

在日常的Android开发中,我们可能会有的业务需求界面使用WebView界面展示。

WebView的加载速度也是一个令人头疼的问题。有没有解决呢?肯定是有的,我在网上查找WebView相关的知识点,发现了一个开源库CacheWebView

CacheWebView

CacheWebView通过拦截资源实现自定义缓存静态资源。突破WebView缓存空间限制,让缓存更简单。让网站离线也能正常访问。

CacheWebView的特性

引入项目

implementation 'ren.yale.android:cachewebviewlib:2.2.1'

在我发布博客的时候,最新版本是2.2.1最新版本请看开源库的wiki

初始化使用

WebViewCacheInterceptorInst.getInstance().init(new WebViewCacheInterceptor.Builder(this));

基础使用

   WebViewCacheInterceptor.Builder builder =  new WebViewCacheInterceptor.Builder(this);

    builder.setCachePath(new File(this.getCacheDir(),"cache_path_name"))//设置缓存路径,默认getCacheDir,名称CacheWebViewCache
                       .setDynamicCachePath(new File(this.getCacheDir(),"dynamic_webview_cache"))
                       .setCacheSize(1024*1024*100)//设置缓存大小,默认100M
                       .setConnectTimeoutSecond(20)//设置http请求链接超时,默认20秒
                       .setReadTimeoutSecond(20)//设置http请求链接读取超时,默认20秒
                       .setCacheType(CacheType.NORMAL);//设置缓存为正常模式,默认模式为强制缓存静态资源

    WebViewCacheInterceptorInst.getInstance().init(builder);

Debug Log

WebViewCacheInterceptor.Builder builder =  new WebViewCacheInterceptor.Builder(this);
builder.setDebug(false);
WebViewCacheInterceptorInst.getInstance().init(builder);

默认开启debug log , TAG="CacheWebView",可以关闭log。

清除缓存

WebViewCacheInterceptorInst.getInstance().clearCache();

混淆代码

#CacheWebview
-dontwarn ren.yale.android.cachewebviewlib.**
-keep class ren.yale.android.cachewebviewlib.**{*;}

#okhttp
-dontwarn okhttp3.**
-keep class okhttp3.**{*;}

#okio
-dontwarn okio.**
-keep class okio.**{*;}
上一篇下一篇

猜你喜欢

热点阅读