修复Crash原因(pointerIndex|修复Crash原因:pointerIndex out of range)
自从项目接手以来,腾讯Bugly一直也是上传过来各种各样的Bug。这不,如下图,又是传过来一个令人很奇特的Bug。
文章图片
打印桟 从打印桟来看,其实错误很简单,但又是很莫名其妙,ViewPager在做多点触控的时候,操作自己所绘制的图形时发生异常。根据项目中使用的ViewPager控件来看,出错的应该是在针对图片做多点触摸时发生的。
文章图片
出错的设备统计图全是Samsung 找到问题原因之后那就简单多了,上网百度,查找解决办法,网上的解决办法无非两种,一种是根据特定的Android 设备Rom,去修改源码然后去重新编译系统。这里我们直接Pass这个办法,我们无法去修改用户的系统,也无法去更改Samsung的Rom。此时我们还有另一种方法,自定义ViewPager在onInterceptTouchEvent方法和onTouchEvent方法中我们去捕获类似的bug。
代码如下:
@Override【修复Crash原因(pointerIndex|修复Crash原因:pointerIndex out of range)】Ok,搞定。
public booleanonInterceptTouchEvent(MotionEvent ev) {
try{
return super.onInterceptTouchEvent(ev);
}catch(IllegalArgumentException ex) {
ex.printStackTrace();
}
return false;
}
@Override
public booleanonTouchEvent(MotionEvent ev) {
try{
return super.onTouchEvent(ev);
}catch(IllegalArgumentException ex) {
ex.printStackTrace();
}
return false;
}
推荐阅读
- 七老修复好敏感、角质层薄、红血丝
- 成败
- 深入理解|深入理解 Android 9.0 Crash 机制(二)
- 第十六天(请介绍一件让你非常自豪的事情,(不能是职业类的),什么原因感到自豪。)
- 当你伸手的时候,不管是什么原因都是你的错了。
- 高效纠错
- 私家车车棚都选择做膜结构车棚的原因竟然是这个!
- 放不下一个人的真正原因
- [丰声]简字·第66期|[丰声]简字·第66期 家庭问题树的心理原因与化解之道
- 为什么你留不住顾客(80%的餐饮老板都找不到的原因)