問題描述:
假設現在有一個主頁index.html
還有1.html,2.html,3.html等等,從index.html可以分別跳入這幾個頁面,但是每次從這幾個頁面返回上一級(index)都會出現一閃而過的白屏
這是因為webview重新渲染了主頁index,這是為了節省內存的表現,將index的渲染暫時刷掉,返回的時候再刷出來
有些場合很好,比如在打開一個新的webview的時候去渲染,這沒毛病,但是如果是經常要使用的,像index這樣的主頁,不能出現這樣的情況
一開始我以為是硬件加速沒有開啟,刻意的使用alert(plus.webview.defaultHardwareAccelerated())檢查了硬件加速的開啟狀態,發現每一個頁面都是開着的呀
這並不是開關硬件加速的緣故
解決辦法:
打開webview時設置在style里添加render屬性,設置為always即可
$.openWindow({
url: 'index.html',
id: 'index',
show: {
aniShow: 'none',
},
styles: {
render: 'always',
},
waiting: {
autoShow: false
}
});
render的意思是渲染!