ANR----以及如何定位是前端问题还是后台问题

1.ANR的定义:

  1. ANR :Application Not Responding,应用无响应,当操作在一段时间内使用系统无法处理时,系统层面会弹出应用程序无响应对话框。(一个流畅合理的程序中不 能出现该对话框,所以响应性能的设计很重要,这样系统才不会显示该对话框给用户)
    2.通俗的来讲:android手机,为了不让手机卡的不成样子,还想让用户知道,就发明了ANR弹框。弹框就弹框,一般的继续等待都是无果,只有结束之才能解决。就像电脑卡死之后,任务管理器启动不起来,想禁止某个进程,徒劳无返。
    3.所有android设计了一种机制,认为一些阻挡它生命周期的返回,不能无极限下去
    4.系统都设计了哪些ANR:
    KeyDispatchTimeout(5 seconds) –主要类型
    按键或触摸事件在特定时间内无响应
    BroadcastTimeout(10 seconds)
    BroadcastReceiver 在特定时间内无法处理完成
    ServiceTimeout(20 seconds)
    Service 在特定的时间内无法处理完成
    5.第一种情况是主要情况, 而服务相应超时是小概率类型:虽然服务是在后台执行的,但是它是运行在主线中的,如果处理一些耗时操 作,也会造成 ANR。

2.如何定位是前端问题还是后台问题

1.首先确定是界面问题还是功能性问题
如果是界面问题,如文字错误,样式错误,等,则需要截图
如果时功能问题,控制台的问题至少定位到www的问题还是数据库问题,如果是www问题至少要定位到是前端还是后端问题;如果是数据库问题至少要定位到 是服务端接口问题还是中间件问题。

2.前端bug主要分为3个类别:HTML、CSS、Javascript三类问题
最大的区别方法:
出现样式的问题基本都是CSS的bug
出现文本的问题基本都是html的bug
出现交互类的问题基本都是Javascript的bug
3.我们可以从接口url是否正确,传参是否正确,如果是接口URL,传参不正确,解释前端问题;
后端问题:响应是否正确,如果不正确,就是后台不正确,具体判断是不是后端的问题。我们可以查看报错日志,通过日志分析问题,可以查看数据库确认数据的正确性,也可以查看缓存是否正确

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值