xvalerian
xvalerian
> 你这是干了啥...... 比如说请求网络数据,请求完成后会弹出一个提示框,但是我请求完成前切换到了其他APP,然后大概等他弹出后再切回自己的APP,Activity显示的那一瞬间就报这个错闪退,我bugly统计的用户数据,大部分都是报这个错
> 也没有收到任何其他用户反馈用样的问题...您可以告知您的测试手机以及主要是用哪个组件出现此情况的么? 我bugly上看了,出错机型基本覆盖了所有手机厂商和Android 版本,出错最多的是Android 8.1,组件一般是MessageDialog,都是在这一行 at com.kongzue.dialog.util.BlurView.drawBlurredBitmap(BlurView.java:354) 您可以预防一下
> 奇怪的是我这边以及其他使用Dialog组件的用户都没有报告出现过此问题,且BlurView的宽高是MATCH_PARENT的,不可能小于0(具体请参照MessageDialog的284行代码)。如果您不需要使用模糊效果可以通过DialogSettings.use_blur = false;来关闭,关闭后不会再调用BlurView了。目前尚无法确定导致此问题的原因,不过我已记录,感谢您的反馈 感谢您的耐心回复,我刚刚试了一下Android studio的Android 8.1.0 api27 x86的虚拟机也复现了这个bug。不知道可不可以判断一下这个MATCH_PARENT,当等于0时可以设置他为1。模糊效果的话非常好看,有点不舍得放弃
> 新版本已修改blurView 好的,我测试了一下 会报以下错误, 场景:打开app加载网络数据大概3秒后弹出对话框 复现步骤为: 打开app后,马上切回桌面,然后大概等他弹出对话框之后再切回app,然后就会报以下错误然后闪退 java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.graphics.Bitmap.isRecycled()' on a null object reference at android.graphics.BaseCanvas.throwIfCannotDraw(BaseCanvas.java:61) at android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:226) at android.view.RecordingCanvas.drawBitmap(RecordingCanvas.java:79) at com.kongzue.dialog.util.BlurView.drawBlurredBitmap(BlurView.java:367) at com.kongzue.dialog.util.BlurView.onDraw(BlurView.java:333)...