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

你是否了解过ANR?

什么是 ANR

ANR(Application Not responding),即应用程序无响应,简单来说,就是用户界面突然卡住,无法响应用户的操作(比如触摸事件)。

Android 系统对于一些事件需要在一定的时间范围内完成,如果超过预定时间能未能得到有效响应或者响应时间过长,都会造成 ANR。一般情况下,ANR 后会弹出一个提示框,告知用户当前应用无响应,用户可选择继续等待或者关闭应用。




出现场景

InputDispatching Timeout:5 秒内无法响应屏幕触摸事件或键盘输入事件。

BroadcastQueue Timeout :在执行前台广播(BroadcastReceiver)的onReceive()函数时 10s 没有处理完成,后台为 60s。

Service Timeout :前台服务 20s 内,后台服务在 200s 内没有执行完毕。

ContentProvider Timeout :ContentProvider的 publish 在 10s 内没进行完。

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

1.首先确定是界面问题还是功能性问题

如果是界面问题,如文字错误,样式错误,等,则需要截图

如果时功能问题,控制台的问题至少定位到www的问题还是数据库问题,如果是www问题至少要定位到是前端还是后端问题;如果是数据库问题至少要定位到 是服务端接口问题还是中间件问题。

2.前端bug主要分为3个类别:HTML、CSS、Javascript三类问题

最大的区别方法:

出现样式的问题基本都是CSS的bug

出现文本的问题基本都是html的bug

出现交互类的问题基本都是Javascript的bug

3.我们可以从接口url是否正确,传参是否正确,如果是接口URL,传参不正确,解释前端问题;

后端问题:响应是否正确,如果不正确,就是后台不正确,具体判断是不是后端的问题。我们可以查看报错日志,通过日志分析问题,可以查看数据库确认数据的正确性,也可以查看缓存是否正确

参考网址:https://blog.csdn.net/sinat_21118695/article/details/103268769

你可能感兴趣的:(ANR----以及如何定位是前端问题还是后台问题?)