webWiew详解


1、webView 加载地址

//打开本包内asset目录下的index.html文件
wView.loadUrl( " file:///android_asset/index.html " );  
//打开本地sd卡内的index.html文件
wView.loadUrl( "content://com.android.htmlfileprovider/sdcard/index.html" );
//打开指定URL的html文件
wView.loadUrl( " http://m.oschina.net" );


2、webView js交互

webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(this, "android");




3、webView 设置


//优先使用缓存:
WebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); 
 
//不使用缓存:
WebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
//设置缩放
web.getSettings().setBuiltInZoomControls(true);
启用该设置后,用户一旦触摸屏幕,就会出现缩放控制图标。这个图标过上几秒会自动消失,但在3.0系统以上上,如果图标自动消失前退出当前Activity的话,就会发生ZoomButton找不到依附的Window而造成程序崩溃,解决办法很简单就是在Activity的ondestory方法中调用web.setVisibility(View.GONE);方法,手动将其隐藏,就不会崩溃了。在3.0一下系统上不会出现该崩溃问题,真是各种崩溃,防不胜防啊!









4、webView 退出应用的时候加上如下代码     


1
2
3
4
5
6
7
8
9
10
File file = CacheManager.getCacheFileBaseDir(); 
    if (file != null && file.exists() && file.isDirectory()) { 
     for (File item : file.listFiles()) { 
      item.delete(); 
    
     file.delete(); 
   
   
   context.deleteDatabase( "webview.db" ); 
   context.deleteDatabase( "webviewCache.db" );

然后一定要在onDestroy()方法中显式的调用

?
1
2
3
4
5
protected void onDestroy() {
      super .onDestroy();
       mWebView.removeAllViews();
       mWebView.destroy()
}
mll.addView(mWebView);//用如此的方法添加避免内存泄露
























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值