问题描述:
假设现在有一个主页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的意思是渲染!