Input dispatching timed out ANR问题分析

导言:
项目中碰到ANR很正常,要是碰到了,也很开心,表明你的代码还不够优秀,仍需继续努力,而这片日记只是工作中碰到的一个,在这里只是解决ANR的思路,不做什么什么的分析原理,工作中更多的是发现问题和快速解决问题,而不是什么原理,这个只能当做是知识的深入,但是要适可而止,是不是!

ANR日志
这是使用bugly拦截的ANR事件,有时候会更显眼,更容易找到问题之所在


Input dispatching timed out
ANR Input dispatching timed out (Waiting to send non-key event because the touched window has not finished processing certain input events that were delivered to it over 500.0ms ago. waitqueue length = 13, head.seq = 13091050, Wait queue head age: 5609.2ms.)

1 com.amap.api.mapcore.util.r.a(Unknown Source:0)
2 com.amap.api.mapcore.util.c.addPolyline(AMapDelegateImp.java:3889)
3 com.amap.api.maps.AMap.addPolyline(AMap.java:718)
4 ...view.activity.VehicleInfoActivity.drawAllLine(VehicleInfoActivity.java:885)
5 ...view.activity.VehicleInfoActivity.onEvent(VehicleInfoActivity.java:432)
6 java.lang.reflect.Method.invoke(Native Method)
7 org.greenrobot.eventbus.EventBus.invokeSubscriber(EventBus.java:485)
8 org.greenrobot.eventbus.EventBus.postToSubscription(EventBus.java:420)
9 org.greenrobot.eventbus.EventBus.postSingleEventForEventType(EventBus.java:397)
10 org.greenrobot.eventbus.EventBus.postSingleEvent(EventBus.java:370)
11 org.greenrobot.eventbus.EventBus.post(EventBus.java:251)
12 ...view.fragment.VehicleLocationFragment.processData(VehicleLocationFragment.java:310)
13 ...view.fragment.VehicleLocationFragment.carHistoryTrackSuccess(VehicleLocationFragment.java:1009)
14 ...presenter.fragment.VehicleLocationFragmentPresenter$1.onResponseSuccess(VehicleLocationFragmentPresenter.java:32)
15 ...network.helper.BaseCallBack.onResponse(BaseCallBack.java:47)
16 ...network.helper.BaseCallBack.onNext(BaseCallBack.java:36)

场景:
1:界面
activityA和fragmentX,fragmentY,fragmentZ,activityA上面是数据显示区,中间是tablayout+viewPaper,下面是滑动时对应的
fragment数据显示区
2:技术
滑动到fragmentX可见时请求后台数据并显示数据在自己的fragment内,滑动到fragmentY,fragmentZ同fragmentX,还有滑动到相应
fragment时获取数据并将数据通过Eventbus或者接口方式传递给activityA,接收并在上面数据显示区处理并更新显示对应数据

解决:
1:出现问题,首当其冲百度搜一下,有找到解决方案最好,没有还得自己老实找
2:出现ANR时要多复现几次,有时候抓取的信息较难定位,只要多复现,才能更快定位
3:知道什么地方出现问题,但是代码又太多,很难定位,就通过注释的方式去定位
4:发现位置是根本,找到后就知道问题了,就是由于这段代码耗时了,通过异步搞定即可

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值