问题描述
最近开发一个带有饼图页面的时候,出现一个奇怪的bug,在红米k40和小米11这两个手机上,只要页面滑到底部,程序就会闪退,没有提示一点错误日志和异常。然后我开始使用排除法来判断到底是哪里出现了问题,最后发现把饼图删除就不会闪退了。
于是开始想为什么饼图会导致闪退,一开始是朝内存溢出的方向思考,后来发现不是这个问题,一番折腾之后看了看native-echarts的源码发现,发现这个库就是echarts放到一个webview里,就想起以前看过的一篇文章的话:“在屏幕不可视区域加载webView或者webView不在可视区域内切换页面时app崩溃闪退(在屏幕可视区域加载webView或者webView在可视区域内切换页面不会闪退)”
解决方案
我的页面是用scrollView包裹的,于是我用了scrollView其中一个属性——removeClippedSubviews,屏幕之外的子视图(子视图的overflow样式需要设为hidden)会被移除。改好后再测试一下,问题解决,nice!
网友评论