原生app大量嵌入h5页面,很多的功能需要h5来实现,但是由于h5需要从网络加载,在弱网状态或者请求资源大的时候必然出现白屏
webview初始化的时间优化
流程是:
先加载空白页面,再加载真正要展示的页面
先加载h5项目的一个页面再加载真正要展示的页面时间发现第二次加载时并没有load->start的耗时,甚至先加载about:blank也没有这个耗时,所以基本找到了问题。
解决做法是做了一个webview的复用池(当然如果项目中同时只有一个webview存在时可以做成单例),在加载闪屏页时进行初始化并加载url(我们项目是vue写的目前是加载一个vue的空白页,其实如果没有做静态资源拦截加载空白页面就好,这个防止网络错误的问题), 在需要展示的地方能过js(location.hash来改变路由或者bridge)来跳转页面