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();
}
}