当前位置: 首页 > news >正文

Android ANR trace日志如何导出

  1. 什么是ANR ?

上网搜索,一搜一大片,我就说个很容易识别的字眼,XXXAPP无响应

  1. ANR trace日志如何导出?

使用ADB命令: adb pull data/anr/trace.txt + 你要存放的路径。

  1. 查看ANR报错位置

全局搜索你APP的包名,定位到报错点,同时分析错误原因,也可以全局搜索DALVIK THREADS

  1. 导致ANR的几种情况:

1):Input dispatching timed out(5 seconds) 按键或触摸事件处理超时(一般是UI主线程做了耗时的操作,这类ANR最常见)

2):BroadcastTimeout(10 seconds) 广播的分发和处理超时(一般是onReceiver执行时间过长)

3):ServiceTimeout(20 seconds) Service的启动和执行超时

  1. 如何避免ANR

  1. UI线程尽量只做跟UI相关的工作

  1. 耗时的工作(比如数据库操作,I/O,连接网络或者别的有可能阻碍UI线程的操作)把它放入单独的线程处理

  1. 尽量用Handler来处理UIthread和别的thread之间的交互

  1. 例子分析

这里我通过搜索我的包名定位到这个地方有警告,告诉我这个检测网络状态的服务存在可能导致ANR的问题。显示只是警告,我们可以去处理,也可以忽略。

http://www.lryc.cn/news/34001.html

相关文章:

  • Windows SSH 配置和SCP的使用
  • liunx 安装redsi和连接
  • 接口里面可以写实现方法吗【可以】 、接口可以多继承吗【可以】
  • 【YOLOv8/YOLOv7/YOLOv5/YOLOv4/Faster-rcnn系列算法改进NO.57】引入可形变卷积
  • 统计学习--三种常见的相关系数
  • 基于Django4.1.4的入门学习记录
  • C++ Butterworth N阶滤波器设计
  • UXP下不用任何框架创建自己的插件并试运行
  • mac修改国内源快速安装brew
  • Me-and-My-Girlfriend-1靶场通关
  • 2.6 棋盘覆盖
  • JMU软件20 大数据技术复习(只写了对比18提纲的变动部分)
  • MySQL底层存储B-Tree和B+Tree原理分析
  • 基于Vue+Vue-cli+webpack搭建渐进式高可维护性前端实战项目
  • 第十三章:Java反射机制
  • iLok USB不识别怎么办?
  • 【LeetCode与《代码随想录》】二叉树篇:做题笔记与总结-JavaScript版
  • 机器人运动|浅谈Time Elastic Band算法
  • 【Linux】网络基础(1)
  • 限流算法详解
  • Spark/Hive
  • HashMap底层的实现原理(JDK8)
  • 操作系统-整理
  • 系统换行符的思考
  • Wwise集成到unreal
  • 前端秘籍之=>八股文经卷=>(原生Js篇)【持续更新中...】
  • 【Python安装配置教程】
  • Spring-Retry失败重试
  • 【目标检测 DETR】通俗理解 End-to-End Object Detection with Transformers,值得一品。
  • 项目ER图和资料