温馨提示:这篇文章已超过421天没有更新,请注意相关的内容是否还可用!
摘要:本文介绍了Android开发中遇到的WebView白屏空白问题,提供了九种解决方案。其中涉及到了AutoSize方案,用于适配不同屏幕尺寸和分辨率,解决WebView在不同设备上的显示问题。通过本文,开发者可以了解并解决WebView在Android应用中的白屏空白问题,提升用户体验。
特色专栏链接
点击跳转=>Unity3D特效百例
点击跳转=>案例项目实战源码
点击跳转=>游戏脚本-辅助自动化
点击跳转=>Android控件全解手册
点击跳转=>Scratch编程案例
点击跳转=>软考全系列
关于作者
人生是一个不断克服困难、不断反思前进的过程,在这个过程中,我们会产生很多关于人生的质疑和思考,作者决定将自己的思考、经验和故事全部分享出来,以此寻找共鸣,作者专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等),欢迎私信交流,让学习不再孤单。
实践过程中的问题及解决方案
在Android开发中,使用WebView时可能会遇到各种问题,以下是作者在实践中遇到的一些问题及解决方案:
1、如果项目集成了AutoSize并使用了副单位,可能会导致webview里的适配失效,出现白屏现象,解决方案是继承webview,复写setOverScrollMode方法,里面设置AutoSize。
2、遇到白屏问题,很多时候可以通过设置DOM Storage机制来解决,如将setDomStorageEnabled属性设置为true,但要意识到,白屏可能是其他原因造成的,比如系统兼容性问题。
3、HTML5的DOM Storage机制允许程序员把信息存储到本地计算机上,localStorage和sessionStorage是两种常用的存储机制,它们的作用范围和生命周期不同。
4、在Android开发中,有时会遇到html的bug,如前端同事开发环境下没问题,但发布后或摘出来的小模块会出现问题,这时需要合理适时的清理webview的缓存,关闭硬件加速等。
5、当加载SSL加密的HTTPS页面时,如果安全证书无法得到认证,WebView会显示成空白页,这时需要开启相关设置或重写WebViewClient的onReceivedSslError方法来接受所有网站的证书,忽略SSL错误。
6、在Android 5.0之后,WebView默认不允许Https和Http的混合使用方式,当Url是Https的,图片资源是Http时,页面加载会失败,需要设置MixedContentMode属性允许混用。
7、在不同版本的Android系统中,WebViewClient的回调里shouldOverrideUrlLoading方法的loadurl可能是地址也可能是对象,需要注意兼容性问题。
8、如果上述方法都不行,可以尝试更深的检测,如截取当前屏幕内容获得Bitmap,判断是否为白色图片,并针对白屏做相应处理。
9、高级语言、框架或前沿技术都有很多坑和兼容问题,如果是出产品为目的,推荐使用原生的开发方式,逐渐累积经验,后续开发会越来越快。
其他
作者:小空(小空和小芝中的小空),转载请注明来源:[个人博客链接](https://zhima.blog.csdn.net/),提醒读者注意一些高级语言或框架可能存在兼容问题,若成功则好,若不成功也可回来找我寻求帮助,点击下方卡片获取更多资源链接获取更多意想不到的资源。
还没有评论,来说两句吧...