首页 > 其他分享 >Android Camera close异常导致app的input ANR案例分析

Android Camera close异常导致app的input ANR案例分析

时间:2024-08-05 16:57:27浏览次数:13  
标签:02 ANR app xxx pid Camera 8838 anr

1. 背景
在日常的项目开发过程中,经常会收到用户或者测试同仁报过来的ANR(Application Not Response)的问题,本文结合作者的日常工作中遇到的典型案例,分享ANR的分析过程。

 ANR(‌Application Not Responding)‌主要分为以下几种类型:‌

Input dispatching timed out:‌当输入事件(‌包括按键和触屏事件)‌在5秒内没有处理完成时,‌会发生ANR。‌这种情况下的日志关键字是“Input event dispatching timed out”。‌

BroadcastTimeout:‌包括前台广播和后台广播。‌前台广播需要在10秒内完成,‌而后台广播则需要在60秒内完成。‌如果超时不处理,‌就会发生ANR。‌相关的日志关键字是“Timeout of broadcast BroadcastRecord”。‌

ServiceTimeout:‌对于前台服务,‌其生命周期方法(‌如onCreate, onStart, onBind等)‌需要在20秒内完成;‌而对于后台服务,‌这些方法需要在200秒内完成。‌超时未处理会导致ANR,‌日志关键字为“Timeout executing service”。‌

ContentProviderTimeout:‌ContentProvider在10秒内没有处理完成时也会发生ANR。‌相关的日志关键字是“timeout publishing content providers”。‌

2. ANR分析流程

1. 首先找到log中的anr trace,根据trace寻找anr 到底是卡在哪里?
log\anr\anr_2024-07-31-14-02-16-207
----- pid 8838 at 2024-07-31 14:02:16 -----
Cmd line: com.xxx.xxx

从anr trace首先可以确定anr 发现的pid和process name,并能够找到anr dump的时间点,一般来说anr dump的时间点就是anr发生之后的时间点,与anr发生的时间点比较接近。

pid 8838 ---------pid
Cmd line: com.xxx.xxx ------process name
2024-07-31 14:02:16 ------anr dump time ~ anr time

2. 通过android main log,根据"am_anr" 这个关键字,找到anr的pid,更精确的时间点以及anr的类型。

07-31 14:02:15.404 985 5018 I am_anr : [0,8838,com.xxx.xxx,549994055,Input dispatching timed out (e4d2f67 com.xxx.xxx/com.xxx.xxx.subject.ScreenDisplayTestActivity (server) is not responding. Waited 5001ms for FocusEvent(hasFocus=false))]

pid 和 anr trace的相同:8838
anr 类型:dispatching timed out
根据anr类型,我们可以知道,这个input event在anr发生的前5s触发,但是app一直没有响应,也就是app卡了5s,那么我们接下来要看anr发生时间点的前5s app在忙什么事情,我们可以通过pid=8838搜log,找到相关信息。

行  8051: 07-31 14:02:09.418  8838  8838 I wm_on_stop_called: [144380212,com.xxx.xxxb.subject.CameraTestActivity,LIFECYCLER_STOP_ACTIVITY]
	行  8052: 07-31 14:02:09.418  8838  8838 D FragmentManager: onCleared 

标签:02,ANR,app,xxx,pid,Camera,8838,anr
From: https://blog.csdn.net/xuyongqz/article/details/140927373

相关文章

  • 出现 No mapping for DELETE/GET等
    出现NomappingforDELETE/GET等错误一:请求url不对修改前如下图可知后端请求url为http://localhost:8080/user/addressBook运行后控制台出现发现后端请求url比前端请求url少了/改正:在@DeleteMapping后面加上/ @DeleteMapping("/")@ApiOperation("根据id......
  • Apple开发_正则表达式相关
    NSString+Regex.h#import<Foundation/Foundation.h>//正则表达式相关@interfaceNSString(Regex)//邮箱验证-(BOOL)is_Email;//手机号码验证-(BOOL)is_Phone_Num;//车牌号验证-(BOOL)is_Car_No;//网址验证-(BOOL)is_Url;//邮政编码-(BOOL)is_......
  • iOS开发基础147-ABM集中管理Apple设备
    AppleBusinessManager(ABM)是一种集中管理Apple设备、应用程序和内容的解决方案。它可以帮助企业简化部署和管理Apple设备。接入ABM可以让公司在设备设置、应用分发和内容管理方面更加高效和灵活。与传统的企业开发者账号(即AppleDeveloperEnterpriseProgram)和MDM(MobileDev......
  • SpringBoot-书店信息管理系统+93494(免费领源码+开发文档)可做计算机毕业设计JAVA、PHP
    基于springboot书店信息管理系统摘 要书店信息管理系统采用B/S结构、java开发语言、以及Mysql数据库等技术。系统主要分为管理员和用户两部分,管理员管理主要功能包括:首页、轮播图、公告栏、资源管理(图书资讯、资讯分类)交流管理(留言板、留言板分类)系统用户(管理员、顾客用户......
  • spring bean生命周期中BeanNameAware、BeanFactoryAware或ApplicationContextAwar
    BeanNameAware、BeanFactoryAware和ApplicationContextAware是Spring框架中提供的三个Aware接口,它们允许Bean在生命周期的特定阶段获取关于自身或容器的信息。以下是关于这三个Aware接口的详细解释:1.BeanNameAware定义与功能:BeanNameAware接口允许Bean获取自己在Spring......
  • uniapp底部栏设置未读红点或角标
    uniapp底部栏设置未读红点或角标pages.json{...//省略"tabBar":{"color":"#333333","selectedColor":"#3296fa","backgroundColor":"#ffffff","bor......
  • uniapp页面跳转传参
    uniapp页面跳转传参1.uni.navigateTo传:<view@click="showDetail({id:1})"></view>showDetail(data){uni.navigateTo({url:"/pages/sys/workbench/productCenterFirm/productCenterFirmDetail?id="+......
  • uniapp中u-input点击事件失效
    uniapp中u-input点击事件失效当给u-input设置了disabled/readonly属性后,pc浏览器中点击事件失效,但是app/移动端h5中却仍有效解决办法给外边包上一个盒子设置点击事件,给input加上css属性:pointer-events:nonepointer-eventsCSS属性指定在什么情况下(如果有)某个特定的图......
  • iMAP: Implicit Mapping and Positioning in Real-Time实时隐式建图和定位(论文阅读记
    一、论文阅读知识储备    这篇论文是将NeRF结合进SLAM的探索性的尝试,在我的这篇文章中并没有太多涉及NeRF的详细解说,但看懂这篇论文有必须懂NeRF,所以推荐读者去看:【较真系列】讲人话-NeRF全解(原理+代码+公式)_哔哩哔哩_bilibili       论文原文地址:[2103.12352......
  • Java基于微信小程序的高校大学生新生迎新管理系统 uniapp
    文末获取资源,收藏关注不迷路文章目录项目介绍技术介绍项目界面关键代码目录项目介绍随着信息技术的飞速发展,信息化已经深入到社会生活的各个领域。高校作为科研的前沿阵地,一直走在科技发展的前列,特别是在信息化方面。如今,大部分高校都建立了数字化、信息化的校园平......