我们的App主要使用WebView加载H5页面,今天遇到一个问题在此记录一下。
问题:有一个档案上传页面,通过ant-design-mobile的image-picker调用手机的拍照功能或者相册功能来选择图片上传,在使用相册时可以正常使用,但是使用拍照时前2~3张正常,一旦到第4张时页面就会特别卡。通过查看日志:I/Choreographer: Skipped 77 frames! The application may be doing too much work on its main thread.
通过分析,可以知道绘制显示到第4张图片时,占用主线程做了大量工作。
经过排查,发现由于给webview配置硬件加速导致,具体代码如下所示:
webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
网友评论