Android WebView 優化頁面載入效果

2021-08-20 04:40:26 字數 1009 閱讀 6673

可能有些人會說,為什麼不做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中的寬高設成固定的值,這樣載入文...