anr总结

作者: WangRain1 | 来源:发表于2023-10-23 17:57 被阅读0次

1.no focus Window anr

这种一般是有key事件分发导致属于input模块:

大致定位方式:

1.ActivityTaskManager //启动界面 

2.wm_set_resumed_activity //系统调用resume

3.InputDispatcher  //input 事件分发

4.wm_on_resume_called //客户端接收到系统resume开始创建window

5.input_focus: [Focus request //请求焦点

WindowManager: ANR

6.finishDrawing //window onshow完成

7.input_focus: [Focus entering //拿到焦点

2.input有焦点但是input事件分发超时。

Input dispatching timed out is not responding. Waited 5000ms for FocusEvent(hasFocus=true

no focus window:

1.activity client 端还没有走onresume 此时窗口还没创建;

2.window窗口还没有HAS_SHOW,虽然窗口创建了,但是window状态还没show;

3.window在HAS_SHOW了但是focus还没有enter进去到当前的window;

4.window已经有focus但是发出的keyevent一直没有被client端消费,一般是主线程被占用,

input 的 wait queue队列等待remove的时间超时,耗时导致;

3.过滤条件

ActivityTaskManager|wm_set_resumed_activity|Input|wm_on_resume_called|input_focus|WindowManager|finishDrawing|ANR

4.bugreport中确定pid,tid,uid看耗时。

5.多屏下焦点

当目标key指定dispaly发送,但是目标display当前不是top时候,会有一个切换display的动作,日志:

"Attempting to move non-focused display"

相关文章

  • ANR问题分析

    本文站在系统角度来简单总结下ANR分析的一般套路。 一、ANR简介 1.1 ANR定义 ANR(Applicati...

  • Android ANR问题专题

    android ANR发生的原因总结和解决办法 ANR的全称是application not responding...

  • Anr总结

    参考:https://www.cnblogs.com/android-blogs/p/5718302.html 定...

  • ANR总结

    ANR介绍 ANR全名Application Not Responding, 也就是"应用无响应". ANR产生原...

  • 第二周总结 | 写博客的意义

    周总结 日更天数: 日更文章列表: [ANR] Input ANR是怎么产生的[https://www.jians...

  • Android ANR(二)-触发原理

    接之前的文章:Android ANR问题(一)-基本分析方法,这篇文章总结一下ANR触发原理。 一、Service...

  • SharedPreferences ANR 总结

    csdn 个人博客 一.简介 SharedPreferences 是 Android 中一种轻量级的数据存储方式,...

  • ANR问题总结

    ANR的原因可以分为: Service Timeout:前台服务没有在20s内完成,后台服务没有在200s内完成。...

  • ANR分析总结

    学习笔记:这里只是一些简单ANR问题,还在学习中。 ANR(Application Not Responding)...

  • Android ANR 机制

    Broadcast ANR[#broadcast-anr] Service ANR[#service-anr] C...

网友评论

      本文标题:anr总结

      本文链接:https://www.haomeiwen.com/subject/hcjjidtx.html