学习一个新的技能点,可以先阅读官方的资料,寻找相关的书籍,去github上面找到相关的代码,在实际过程中使用起来,然后将自己的经验,反思,总结,形成文档,共享出来,将要学习的对象使用一遍,把自己的灵感和使用的感受记录下来。
众多的开发者,在使用各种技术的过程中,积累了丰富的经验,多多参考这些经验,可以让我们少走弯路,快速完成我们的应用的开发。那么,接下来,就让我们一起进入webview的世界吧。
YJKS:
我们可以通过native获取到webview中的图片,视频,音频,这部分设计到JS对Java的调用。
我们可以去除掉网页中的标题,文字,这部分Java对JS的调用。
我们可以融合网络的网页和我们本地的网页。
我们可以为网页端添加点击效果。
接下来,就可以融合各方面的经验:
x5封源库可以解决原生webview适配等问题,可以提高我们的开发效率,不可避免,使用它也会有各种坑,有网友使用x5和crossWalk,出现了在一个H5界面的一个图片跳转链接上(前端说用的是angular框架),无论是用TBS还是用CrossWalk都会出现部分机型点击无响应的问题,严重的甚至出现点击闪退的情况。推荐了开源的AgentWeb。也有网友利用x5来完成:h5布局自带4个底部tab,放在webview怎么点击都没用,甚至界面的其他元素也没有点击效果。但是使用CrossWalk就解决了这个问题。遗憾的是,这个项目从16年就没有再维护了。
如果我们不使用第三方webview,根据业务,正常使用webview,如果使用过程中,出现了问题,可以进行参考网易考拉移动团队的解决方案。
我们也要考虑到WebView性能、体验分析与优化的问题,使用场景上,WebView和Native地图的融合,调试隐藏H5元素,Android端使用WebView注入一段js代码实现js调用android,可以通过先下载网页缓存本地的方式注入,通过注入实现webview视频全屏,用本地ImageView打开WebView中的图片注入。
在开发webview中,有一些约定的通识,可以帮助我们认清楚,流程清单可以参考,常见问题和解决方案可以参考这里。缓存和cookie的介绍,小程序底层原理是webview吗,webview缓存原理和应用,秒开webview,注意内存泄漏问题。webview真实场景细节,具体可以参照思维导图:
对于自己整理的文章,会经常回顾,维护。