可能有些人會說,為什麼不做native的,因為native侷限性比較大,當需要載入的內容變化情況比較大的情況時,需要頻繁的發布版本,這樣是不合理的,所以推薦使用webview來載入一些比較容易改變的內容,同時也方便多個平台的應用同時製作。
開啟webview的快取功能可以減少對伺服器資源的請求,一般使用預設快取策略就可以了。
//設定 快取模式
webview.getsettings().setcachemode(websettings.load_default);
// 開啟 dom storage api 功能
webview.getsettings().setdomstorageenabled(true);
資源等檔案(不需要更新)本地儲存,在需要的時候直接從本地獲取。哪些資源需要我們去儲存在本地呢,當然是一些不會被更新的資源,例如檔案,js檔案,css檔案,替換的方法也很簡單,重寫webview的方法即可。
else if (url.endswith("jquery.min.js"))
} catch (ioexception e)
return super.shouldinterceptrequest(view, url);
}
getinputstream的引數代表資源具體位置
webresourceresponse後的資源型別需要寫正確
怎麼讓使用者看不到webview載入前的白色頁面呢?首次載入後頁面的跳轉可以用上面的步驟進行優化,可以提供給使用者乙個很好的體驗,那載入的第一頁呢?我們需要webview預載入頁面,這個該怎麼做到的呢?下面提供兩種方法:
使用framelayout簡單一些,兩種方法都是需要對webchromeclient的onprogresschanged進行監聽,載入完畢進行頁面切換,如下:
webview.setwebchromeclient(new webchromeclient()
}});
Android WebView刪除快取
刪除儲存於手機上的快取.clear the cache before time numdays private int clearcachefolder file dir,long numdays if child.lastmodified numdays catch exception e ret...
android webview 文字重疊
webview載入本地資源檔案html時,如果html中有,載入時會先載入文字,後載入,因此會出現排版混亂的情況,好像載入了兩遍,這種情況是因為,html中的高度是自適應的,沒有設定具體的值,載入出來後,並沒有將文字往下擠壓,所以出現了重疊的現象,解決方法 將html中的寬高設成固定的值,這樣載入文...
android webview 文字重疊
webview載入本地資源檔案html時,如果html中有,載入時會先載入文字,後載入,因此會出現排版混亂的情況,好像載入了兩遍,這種情況是因為,html中的高度是自適應的,沒有設定具體的值,載入出來後,並沒有將文字往下擠壓,所以出現了重疊的現象,解決方法 將html中的寬高設成固定的值,這樣載入文...