账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    WebView各种缓存机制怎么合适选用?
    37
    0

    WebView存在多种缓存机制,这些缓存机制该如何选用?选用后就不用做进一步操作,缓存机制会帮我们做相关的进行缓存和读取缓存操作了?

    我了解过WebView的缓存机制,其中有一种是浏览器缓存机制,是Chrom内核WebView自带的缓存机制,它都已经存在默认缓存机制了,那岂不是不用做缓存处理了?我看有些代码都是把所有缓存机制都开启了(如下代码),这样子合适吗?

    相关代码

    // 开启 DOM storage API 功能
    webSettings.setDomStorageEnabled(true);
    //开启 database storage API 功能
    webSettings.setDatabaseEnabled(true);
    String cacheDirPath = getFilesDir().getAbsolutePath() + APP_CACAHE_DIRNAME;
    //设置数据库缓存路径
    webSettings.setDatabasePath(cacheDirPath);
    //设置 Application Caches 缓存目录
    webSettings.setAppCachePath(cacheDirPath);
    //开启 Application Caches 功能
    webSettings.setAppCacheEnabled(true);
    webSettings.setLoadWithOverviewMode(true);
    //设置WebView支持JavaScript
    webSettings.setJavaScriptEnabled(true);
    //设置可以访问文件
    webSettings.setAllowFileAccess(true);
    //设置支持缩放
    webSettings.setBuiltInZoomControls(true);
    webSettings.setDefaultTextEncodingName("UTF-8");

    WebView的缓存处理是选用一个就好还是说全部都要开启,WebView会自己判断什么时候运用哪个缓存机制?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 霸气、是我的风格 普通会员 1楼

      在使用WebView时,我们应该根据具体的业务场景和需求来选择合适的缓存机制。

      1. HTTP缓存:这是最常见的缓存机制,用于存储页面内容。当用户访问页面时,浏览器会先检查HTTP缓存,如果缓存中存在该页面内容,那么浏览器会直接使用缓存中的内容,而无需重新加载页面。但是,如果缓存中的内容过期或被删除,那么浏览器就需要重新加载页面。

      2. URL缓存:当用户访问页面时,浏览器会先检查URL缓存,如果缓存中存在该页面的URL,那么浏览器就会直接使用缓存中的内容,而无需重新加载页面。但是,如果URL缓存中不存在该页面,那么浏览器就需要重新加载页面。

      3. 本地缓存:当用户访问页面时,浏览器会先检查本地缓存,如果缓存中存在该页面的内容,那么浏览器会直接使用缓存中的内容,而无需重新加载页面。但是,如果本地缓存中的内容过期或被删除,那么浏览器就需要重新加载页面。

      4. 数据缓存:当用户在Web页面中输入数据时,浏览器会先将这些数据存储在数据缓存中。当用户再次访问该页面时,浏览器可以从缓存中直接读取这些数据,而无需重新输入。

      在选择缓存机制时,我们应该考虑以下因素:

      1. 页面的更新频率:如果页面的更新频率很高,那么我们应该选择HTTP缓存,以防止页面内容过期。

      2. 页面的内容变化频率:如果页面的内容变化频率很高,那么我们应该选择URL缓存,以防止页面内容过期。

      3. 页面的加载速度:如果页面的加载速度很高,那么我们应该选择本地缓存,以提高页面的加载速度。

      4. 页面的数据变化频率:如果页面的数据变化频率很高,那么我们应该选择数据缓存,以加快页面的数据获取速度。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部