Android模块化编程——WebView使用之清理缓存

清理缓存:
    在WebView使用中可能会遇到一个问题,那就是加载了很多页面,退不出去了,你需要一直按返回键很多次。体验非常差。这是你除了按照上篇博客,在特定网页捕获返回键。还可以清理缓存。
   
   
// 清理缓存
private void clearHistory() {
mWebView.postDelayed(new Runnable() {
@Override
public void run() {
mWebView.clearHistory();
}
}, 1000);
}
    这里为啥要延迟1s呢?这是WebView内部缺陷, 如果你不延迟1s,她会保留新页面的前一页。下面是我如何调用。
   
   
private View.OnClickListener mListener = new View.OnClickListener() {
public void onClick(View paramAnonymousView) {
MainActivity.this.showMainWeb();
MainActivity.this.mWebView.stopLoading();
// if (MainActivity.this.selectedView != null)
switch (paramAnonymousView.getId()) {
case R.id.activity_main_iv_index:
// mWebView.clearCache(true);
MainActivity.this.mWebView.loadUrl(MainActivity.this.serviceURL + "index.aspx");
((ImageView) paramAnonymousView).setImageResource(R.drawable.bt_bg_index_selected);
// btIndex.setImageResource(R.drawable.bt_bg_index);
btWeiXin.setImageResource(R.drawable.bt_bg_type);
btContactUs.setImageResource(R.drawable.bt_bg_contact_us);
btShoppingCart.setImageResource(R.drawable.bt_bg_shopping_cart);
btMine.setImageResource(R.drawable.bt_bg_mine);
clearHistory();
return;
case R.id.activity_main_iv_weixin:
// mWebView.clearCache(true);
MainActivity.this.mWebView.loadUrl(MainActivity.this.serviceURL + "category.aspx");
((ImageView) paramAnonymousView).setImageResource(R.drawable.bt_bg_type_selected);
btIndex.setImageResource(R.drawable.bt_bg_index);
// btWeiXin.setImageResource(R.drawable.bt_bg_type);
btContactUs.setImageResource(R.drawable.bt_bg_contact_us);
btShoppingCart.setImageResource(R.drawable.bt_bg_shopping_cart);
btMine.setImageResource(R.drawable.bt_bg_mine);
clearHistory();
return;
case R.id.activity_main_iv_contact_us:
MainActivity.this.mWebView.loadUrl(MainActivity.this.serviceURL + "contactus.aspx");
((ImageView) paramAnonymousView).setImageResource(R.drawable.bt_bg_contact_us_selected);
btIndex.setImageResource(R.drawable.bt_bg_index);
btWeiXin.setImageResource(R.drawable.bt_bg_type);
// btContactUs.setImageResource(R.drawable.bt_bg_contact_us);
btShoppingCart.setImageResource(R.drawable.bt_bg_shopping_cart);
btMine.setImageResource(R.drawable.bt_bg_mine);
// Toast.makeText(MainActivity.this,
// "origina"+mWebView.getOriginalUrl(),
// Toast.LENGTH_SHORT).show();//原始页,上一页
clearHistory();
return;
case R.id.activity_main_iv_shopping_cart:
MainActivity.this.mWebView.loadUrl(MainActivity.this.serviceURL + "order/shoppingCart.aspx");
((ImageView) paramAnonymousView).setImageResource(R.drawable.bt_bg_shopping_cart_selected);
btIndex.setImageResource(R.drawable.bt_bg_index);
btWeiXin.setImageResource(R.drawable.bt_bg_type);
btContactUs.setImageResource(R.drawable.bt_bg_contact_us);
// btShoppingCart.setImageResource(R.drawable.bt_bg_shopping_cart);
// Toast.makeText(MainActivity.this, "url"+mWebView.getUrl(),
// Toast.LENGTH_SHORT).show();//新加载的页
btMine.setImageResource(R.drawable.bt_bg_mine);
clearHistory();
return;
case R.id.activity_main_iv_mine:
// mWebView.clearCache(true);
MainActivity.this.mWebView.loadUrl(MainActivity.this.serviceURL + "myfiles/MyXYL.aspx");
((ImageView) paramAnonymousView).setImageResource(R.drawable.bt_bg_mine_selected);
btIndex.setImageResource(R.drawable.bt_bg_index);
btWeiXin.setImageResource(R.drawable.bt_bg_type);
btContactUs.setImageResource(R.drawable.bt_bg_contact_us);
btShoppingCart.setImageResource(R.drawable.bt_bg_shopping_cart);
// btMine.setImageResource(R.drawable.bt_bg_mine);
clearHistory();
return;
case R.id.activity_main_iv_back:
default:
}
}
};
    写的很啰嗦,就这么个意思。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值