这是一个点击之后反应超时的ANR

[// ::] - ::57.343      D ActivityManager: Delay resumeKeyDispatchingLocked() to avoid deadlock.
[// ::] - ::57.343 E ANRManager: ANR in com.android.settings (com.android.settings/.LanguageSettings), time=
[// ::] ng up.) // Reason漏了
[// ::] - ::57.343 E ANRManager: Load: 21.75 / 22.85 / 18.3
[// ::] - ::57.343 E ANRManager: Android time :[-- ::57.27] [1490.278]
[// ::] - ::57.343 E ANRManager: CPU usage from 13170ms to 0ms ago:
[// ::] - ::57.343 E ANRManager: % /com.**********.services: % user + % kernel / faults: minor major
[// ::] - ::57.343 E ANRManager: % /system_server: % user + % kernel / faults: minor major
[// ::] - ::57.343 E ANRManager: % /android.process.media: % user + 1.8% kernel / faults: minor major
[// ::] - ::57.343 E ANRManager: % /surfaceflinger: 6.8% user + 6.1% kernel / faults: minor
[// ::] - ::57.343 E ANRManager: % /com.android.settings: 9.3% user + 2.4% kernel / faults: minor major
[// ::] - ::57.343 E ANRManager: 8.9% /com.**********.voiceassistant: 7.4% user + 1.5% kernel / faults: minor major
[// ::] - ::57.343 E ANRManager: % /ksdioirqd/mmc1: % user + % kernel
[// ::] - ::57.343 E ANRManager: 3.4% /logd: 1.8% user + 1.5% kernel / faults: minor
[// ::] - ::57.343 E ANRManager: 2.7% /kswapd0: % user + 2.7% kernel
[// ::] - ::57.343 E ANRManager: 2.1% /com.*********.settings<> ()[:RadioServiceThr]i2c ioctl, cmd=0x707, arg=0xa2e1d490
[// ::] : 1.4% user + 0.7% kernel / faults: minor major
[// ::] - ::57.343 E ANRManager: 1.9% /mmcqd/: % user + 1.9% kernel
[// ::] - ::57.343 E ANRManager: 1.6% /com.android.phone: 0.9% user + 0.6% kernel / faults: minor major
[// ::] - ::57.343 E ANRManager: 1.5% /com.android.systemui: 1.2% user + 0.3% kernel / faults: minor major
[// ::] - ::57.343 E ANRManager: 1.4% /com.*********.carplay: 0.8% user + 0.6% kernel / faults: minor
[// ::] - ::57.343 E ANRManager: 1.2% /outhw_thread: % user + 1.2% kernel
[// ::] - ::57.343 E ANRManager: 1.2% /com.**********.radio_v2: 0.9% user + 0.3% kernel / faults: minor
[// ::] - ::57.343 E ANRManager: % /mediaserver: 0.6% user + 0.3% kernel / faults: minor
[// ::] - ::57.343 E ANRManager: 0.9% /mnld: 0.8% user + % kernel / faults: minor
[// ::] - ::57.343 E ANRManager: 0.5% /stp_sdio_tx_rx: % user + 0.5% kernel
[// ::] - ::57.343 E ANRManager: 0.4% /rcu_preempt: % user + 0.4% kernel
[// ::] - ::57.343 E ANRManager: 0.3% /pb_stream_threa: % user + 0.3% kernel
[// ::] - ::57.343 E ANRManager: 0.3% /zygote: % user + 0.2% kernel / faults: minor
[// ::] - ::57.343 E ANRManager: 0.3% /servicemanager: % user + 0.2% kernel / faults: minor
[// ::] - ::57.343 E ANRManager: 0.2% /com.**********.avm.t3plus: 0.1% user + % kernel / faults: minor
[// ::] - ::57.343 E ANRManager: 0.2% /kworker/:: % user + 0.2% kernel
[// ::] - ::57.343 E ANRManager: 0.2% /kworker/u8:: % user + 0.2% kernel
[// ::] - ::57.343 E ANRManager: 0.2% /wpa_supplicant: 0.1% user + % kernel / faults: minor
[// ::] - ::57.343 E ANRManager: 0.2% /kworker/u8:: % user + 0.2% kernel
[// ::] - ::57.343 E ANRManager: 0.1% /Audin1AU: % user + 0.1% kernel
[// ::] - ::57.343 E ANRManager: 0.1% /HDMIRxTask Thre: % user + 0.1% kernel
[// ::] - ::57.343 E ANRManager: % /com.gislocation.android.service: % user + % kernel / faults: minor
[// ::] - ::57.343 E ANRManager: 0.1% /app_process: % user + % kernel / faults: minor
[// ::] - ::57.343 E ANRManager: 0.1% /com.**********.carassistant: % user + % kernel / faults: minor
[// ::] - ::57.343 E ANRManager: 0.1% /com.************.btservice: % user + % kernel / faults: minor major
[// ::] - ::57.343 E ANRManager: 0.1% /kworker/u8:: % user + 0.1% kernel
[// ::] - ::57.343 E ANRManager: 0.1% /hif_thread: % user + 0.1% kernel
[// ::] - ::57.343 E ANRManager: 0.1% /com.**********.music: % user + % kernel / faults: minor
[// ::] - ::57.343 E ANRManager: 0.1% /kworker/:: % user + 0.1% kernel
[// ::] - ::57.343 E ANRManager: 0.1% /kworker/:: % user + 0.1% kernel
[// ::] - ::57.343 E ANRManager: 0.1% /kworker/:: % user + 0.1% kernel
[// ::] - ::57.343 E ANRManager: % //init: 0% user + 0% kernel
[// ::] - ::57.343 E ANRManager: % /migration/: % user + % kernel
[// ::] - ::57.343 E ANRManager: % /jbd2/mmcblk0p27: % user + % kernel
[// ::] - ::57.343 E ANRManager: % /AudEsm: % user + % kernel
[// ::] - ::57.343 E ANRManager: % /Audin2AU: % user + % kernel
[// ::] - ::57.343 E ANRManager % /HDMIRxCbusLink : % user + % kernel
[// ::] - ::57.343 E ANRManager: % /HDMIRxCbusCmd T: % user + % kerne<> ()[:RadioServiceThr]i2c ioctl, cmd=0x707, arg=0xa2e1d470
[// ::] l
[// ::] - ::57.343 E ANRManager: % /mtk_stp_psm: % user + % kernel
[// ::] - ::57.343 E ANRManager: % /com.android.inputmethod.latin: % user + % kernel / faults: minor major
[// ::] - ::57.343 E ANRManager: % /com.*********.carcameras: % user + % kernel / faults: minor
[// ::] - ::57.343 E ANRManager: % /com.********.bluetooth: % user + % kernel / faults: minor
[// ::] - ::57.343 E ANRManager: % /com.android.defcontainer: % user + % kernel / faults: minor
[// ::] - ::57.343 E ANRManager: % /com.**********.quickbootmanager: % user + % kernel / faults: minor
[// ::] - ::57.343 E ANRManager: % /com.**********.gallery: % user + % kernel / faults: minor
[// ::] - ::57.343 E ANRManager: % /tx_thread: % user + % kernel
[// ::] - ::57.343 E ANRManager: % /com.********.filemanager: % user + % kernel / faults: minor
[// ::] - ::57.343 E ANRManager: % /com.android.externalstorage: % user + % kernel / faults: minor
[// ::] - ::57.343 E ANRManager: % /android.process.media: % user + % kernel / faults: minor
[// ::] - ::57.343 E ANRManager: +% /android.process.acore: % user + % kernel
[// ::] - ::57.343 E ANRManager: % T // Total漏了

初步判断是系统和服务占用资源太多,引起原生设置的ANR
在原生设置“语言和输入法”界面点击返回键是在10:24:52.563,原生设置是在10:24:52.723结束,公司设置是在10:24:57.238才收到onConfigurationChanged回调,快5秒了

                                     - ::52.563        4057             ue to no window focus: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_BACK, scanCode=, metaState=, flags=0x68, repeatCount=, eventTime=, downTime=, deviceId=-, source=0x101 }
- ::52.723 D ActivityThread: ACT-DESTROY_ACTIVITY handled : / android.os.BinderProxy@5af997d
Line : [// ::] - ::57.238 D RRIVI : HomeActivity--TAGonConfigurationChanged onConfigurationChanged com.roadrover.settings.ui.activity.HomeActivity@7c8a4d8
[// ::] - ::57.332 V ActivityThread: Performing resume of ActivityRecord{8570c4a token=android.os.BinderProxy@e0af7bb {com.roadrover.settings/com.roadrover.settings.ui.activity.HomeActivity}}
Line : [// ::] - ::57.343 E ANRManager: ANR in com.android.settings (com.android.settings/.LanguageSettings), time=
Line : [// ::] - ::57.671 D RRIVI : HomeActivity--TAGonCreate onCreate com.roadrover.settings.ui.activity.HomeActivity@428a691
Line : [// ::] - ::58.309 D RRIVI : HomeActivity--TAGonResume onResume com.roadrover.settings.ui.activity.HomeActivity@428a691

PS:ACT-DESTROY_ACTIVITY这个操作是在当前activity的onDestroy走了之后才会走得。

[一个ANR问题]

Application is not responding: AppWindowToken{2c381cd0 token=Token{2c38feb8 ActivityRecord{2c2ddce0 u0 com.*********.settings/.common.OptionTabHostActivity}}}.  It has been .8ms since event, .7ms since wait
started. Reason: Waiting because no window has focus but there is a focused application that may eventually add a window when it finishes starting up.
[-  ]I/Process (  ): Sending signal. PID:  SIG:
[- ]I/dalvikvm( ): threadid=: reacting to signal
[- ]I/dalvikvm( ): Wrote stack traces to '/data/anr/traces.txt'
[- ]E/ActivityManager( ): ANR in com.roadrover.settings (com.roadrover.settings/.common.OptionTabHostActivity)
[- ]E/ActivityManager( ): Reason: keyDispatchingTimedOut
[- ]E/ActivityManager( ): Load: 23.33 / 22.43 / 19.7
[- ]E/ActivityManager( ): CPU usage from 33210ms to 0ms ago:

经过分析,发现是可以明显看到,在开始创建窗口,到大约*秒后,系统已经开始分发事件了,此时已经发现没有目标窗口,系统此时已经提醒我们一次了,当然后边呢,目标窗口还是没有创建好,最终就导致ANR了。

可以知道是由于Activity没有顺利执行,刚开始是认为在Activity的onCreate执行失败,但是看了几遍发现onCreate里面没有耗时操作,后来过了几遍log,发现原来是Service里面得一个方法卡住了,导致阻塞了主线程,导致

Activity的onCreate无法顺利执行,而ANR了。

Android开发中碰到的一个ANR问题。的更多相关文章

  1. 在android开发中使用multdex的方法-IT蓝豹为你整理

    Android系统在安装应用时,往往需要优化Dex,而由于处理工具DexOpt对id数目的限制,导致其处理的数目不能超过65536个,因此在Android开发中,需要使用到MultiDex来解决这个问 ...

  2. 如何在Android开发中让你的代码更有效率

    最近看了Google IO 2012年的一个视频,名字叫做Doing More With Less: Being a Good Android Citizen,主要是讲如何用少少的几句代码来改善And ...

  3. Android 开发中常见的注意点

    这里总结了Android开发中常用的注意点.只有总结,没有展开举例讲解,展开的话,一个点都可以写一篇文章了..... 这类问题都一定不要犯. 重要的事情说三遍!!! 说三遍!!! 遍!!! 资源 不允 ...

  4. Android开发中StackOverflowError

    Android开发中StackOverflowError错误实例分析 一.概述 我在一个复杂的layout嵌套较多的android界面,碰到了java.lang.StackOverflowError这 ...

  5. Android学习探索之Java 8 在Android 开发中的应用

    前言: Java 8推出已经将近2年多了,引入很多革命性变化,加入了函数式编程的特征,使基于行为的编程成为可能,同时减化了各种设计模式的实现方式,是Java有史以来最重要的更新.但是Android上, ...

  6. java中的反射机制在Android开发中的用处

    JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反 ...

  7. Android开发中的输入合法性检验

    Why ? 合法性检查对于程序的健壮性具有重要作用.在Android开发中,良好的合法性检查设计机制可以使程序更加清晰,产生bug更少,交互更加友好. What ? 合法性检查的目的在于确定边界.对于 ...

  8. Android开发中的问题及相应解决(持续更新)

    最近博客写的少了,以后还得经常更新才行. ------------------------------------------------------------ 1.特定业务需求下try cath ...

  9. 关于Android开发中的证书和密钥等问题

    关于Android开发中的证书和密钥等问题 引言 除了Android发布应用签名时需要用到证书外,在进行google Map Api开发和Facebook SDK API开发等时都需要申请API Ke ...

随机推荐

  1. MySQL 使用自增ID主键和UUID 作为主键的优劣比较详细过程(从百万到千万表记录测试)

    测试缘由 一个开发同事做了一个框架,里面主键是uuid,我跟他建议说mysql不要用uuid用自增主键,自增主键效率高,他说不一定高,我说innodb的索引特性导致了自增id做主键是效率最好的,为了拿 ...

  2. VsCode 使用专用编程字体FiraCode

    FiraCode资料:https://github.com/tonsky/FiraCode PHP代码效果如下: VsCode 配置中添加: "editor.fontFamily" ...

  3. 【从零开始搭建自己的.NET Core Api框架】(一)创建项目并集成swagger:1.1 创建

    系列目录 一.  创建项目并集成swagger 1.1 创建 1.2 完善 二. 搭建项目整体架构 三. 集成轻量级ORM框架——SqlSugar 3.1 搭建环境 3.2 实战篇:利用SqlSuga ...

  4. springmvc 请求参数解析细节

    springmvc 的请求流程,相信大家已经很熟悉了,不熟悉的同学可以参考下资料! 有了整体流程的概念,是否对其中的实现细节就很清楚呢?我觉得不一定,比如:单是参数解析这块,就是个大学问呢? 首先,我 ...

  5. Python面试真题第四节

    81.举例说明SQL注入和解决办法 82.s="info:xiaoZhang 33 shandong",用正则切分字符串输出['info', 'xiaoZhang', '33', ...

  6. JavaWeb过滤器.监听器.拦截器-原理&区别-个人总结

    对比项 拦截器 过滤器 机制 反射机制 函数回调 是否依赖servlet容器 是 否 请求处理 只能对action请求起作用 几乎所有的请求起作用 对action处理 可以访问action上下文.值栈 ...

  7. 20行以内python代码画出各种减压图

    一.太阳花 看到一个很有意思的代码,你若安好,便是晴天!太阳花向你开~ 绘画效果如下: 代码如下: from turtle import * color('red', 'yellow') begin_ ...

  8. Python内置函数(39)——locals

     英文文档: locals() Update and return a dictionary representing the current local symbol table. Free var ...

  9. C++实现多级排序

    stl中sort详细说明 实现功能:期末开始4位同学的成绩,按多级排序,排序规则为:按数学从小到大,如果数学相等,则按语文从大到小排列,如果语文相等,则按英语从小到大排列,如果英语相等,则按历史从大到 ...

  10. Python爬虫入门教程 29-100 手机APP数据抓取 pyspider

    1. 手机APP数据----写在前面 继续练习pyspider的使用,最近搜索了一些这个框架的一些使用技巧,发现文档竟然挺难理解的,不过使用起来暂时没有障碍,估摸着,要在写个5篇左右关于这个框架的教程 ...