Android webview goback 使用cache中的网页

来源:互联网 发布:人工智能是什么意思 编辑:程序博客网 时间:2024/06/05 11:01
webView进行goBack的时候,会自动重新load网页。但这并不是我们所希望的 有时候。有时候 我们希望back 是使用缓存的页面。

在2.3的时候 有 这个函数

setPageCacheCapacity 可以用来设置。可惜后来没有了。是隐藏的了。但是可以通反射来调用到这个函数。代码如下:


/**     * 这个函数是用来处理 当进行goBack的时候 使用前一个页面的缓存 避免每次都从新载入     * @param webSettings webView的settings     */    protected void setPageCacheCapacity(WebSettings webSettings) {        try {            Class<?> c = Class.forName("android.webkit.WebSettingsClassic");            Method tt = c.getMethod("setPageCacheCapacity", new Class[] { int.class });            tt.invoke(webSettings, 5);        } catch (ClassNotFoundException e) {            System.out.println("No such class: " + e);        } catch (NoSuchMethodException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IllegalArgumentException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IllegalAccessException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (InvocationTargetException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }






原创粉丝点击