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

精美网站设计欣赏技能培训班

精美网站设计欣赏,技能培训班,莞城网站建设公司,宁波建站模板厂家概述 我们开发中可能回遇到Application does not hava focused window的ANR异常或InputDispatching TimeOut的异常,这里我们梳理一下分析的思路。 问题分析 关键日志 1、window 在dumpsys window中查看mCurrentFocus和mFocusedApp,也可以通过如下shell命…

概述

我们开发中可能回遇到Application does not hava focused window的ANR异常或InputDispatching TimeOut的异常,这里我们梳理一下分析的思路。

问题分析

关键日志

1、window

在dumpsys window中查看mCurrentFocus和mFocusedApp,也可以通过如下shell命令来查看当前的FocusWindow:

console:/ # dumpsys window d | egrep "mCurrentFocus|mFocusedApp"mCurrentFocus=Window{fee82dd u0 com.android.launcher3/com.android.launcher3.LauncherActivity}mFocusedApp=ActivityRecord{2a7b70a u0 com.android.launcher3/.LauncherActivity t48}

mCurrentFocus指的是当前的焦点窗口,mFocusedApp指的是当前的焦点Activity。

InputWindow是指能接收input事件的窗口,当WMS中状态发生变化后,会将所有符合条件的窗口设置给底层InputFlinger中,在派发事件时,将对从这些窗口中选择目标窗口进行派发,这些窗口就是InputWindow。焦点窗口只有一个,但InputWindow可以有多个。

2、SurfaceFlinger

console:/ # dumpsys SurfaceFlinger | grep -i "HWC layer" -A 20
Display 4616378844849242880 (active) HWC layers:
---------------------------------------------------------------------------------------------------------------------------------------------------------------Layer nameZ |  Window Type |  Comp Type |  Transform |   Disp Frame (LTRB) |          Source Crop (LTRB) |     Frame Rate (Explicit) (Seamlessness) [Focused]
---------------------------------------------------------------------------------------------------------------------------------------------------------------Wallpaper BBQ wrapper#1032rel      0 |            0 |     CLIENT |          0 |    0    0 1920 1080 |  131.0  164.0 2749.0 1636.0 |                                              [ ]
---------------------------------------------------------------------------------------------------------------------------------------------------------------com.android.launcher3/com.android.launcher3.LauncherActivity#1191rel      0 |            1 |     CLIENT |          0 |    0    0 1920 1080 |    0.0    0.0 1920.0 1080.0 |                                              [*]
---------------------------------------------------------------------------------------------------------------------------------------------------------------StatusBar#1041rel      0 |         2000 |     CLIENT |          0 |    0    0 1920   32 |    0.0    0.0 1920.0   32.0 |                                              [ ]
---------------------------------------------------------------------------------------------------------------------------------------------------------------

[Focused]这一列有带[*]号,则说明是焦点窗口。

3、input

在dumpsys input中查看FocusedApplications和FocusedWindows

console:/ # dumpsys input | grep "FocusedApplications" -A 10FocusedApplications:displayId=0, name='ActivityRecord{2a7b70a u0 com.android.launcher3/.LauncherActivity t48}', dispatchingTimeout=5000msFocusedWindows:displayId=0, name='fee82dd com.android.launcher3/com.android.launcher3.LauncherActivity'FocusRequests:displayId=0, name='fee82dd com.android.launcher3/com.android.launcher3.LauncherActivity' result='OK'Pointer Capture Requested: falseCurrent Window with Pointer Capture: NoneTouchStates: <no displays touched>Display: 0logicalSize=1920x1080

4、eventlog

logcat -b events | grep -i anr
logcat -s InputDispatcher
logcat -b events | grep -i input
logcat -b events | grep -i input_focus

打开protoLog的动态Focus Log,打开input子系统的Focus Log。

关键Log:

11-27 16:15:58.902  3932  4137 I input_focus: [Focus request 5e78d93 com.android.mms/com.android.mms.ui.MmsTabActivity,reason=UpdateInputWindows]
11-27 16:15:58.922  3932  6384 I input_focus: [Focus receive :5e78d93 com.android.mms/com.android.mms.ui.MmsTabActivity,reason=setFocusedWindow]
11-27 16:15:59.027  3932  4436 I input_focus: [Focus entering 5e78d93 com.android.mms/com.android.mms.ui.MmsTabActivity (server),reason=Window became focusable. Previous reason: NOT_VISIBLE]

request 和 entering正常情况下是一一对应,打印了entering则表示真正的焦点已经进入到对应的窗口

发生Application does not hava focused window时,一般request 有打印,我们可以通过是否有entering的打印来分析

1.entering部分有打印,代表焦点已经在input里面,但是仍然有ANR,就需要从input等方面分析 2.entering部分未打印,代表input没有被触发焦点窗口设置到input,需排查SurfaceFlinger或WMS。

说明

1、wms焦点窗口正常,不代表焦点窗口已经同步到inputdispatch
2、同步到inputdispatch也不代表可以正常使用,可能该window对应的layer,已经移除了。

http://www.dtcms.com/wzjs/188736.html

相关文章:

  • 商务网站的规划流程品牌整合营销推广
  • 泰安网站建设哪家强河南网站建设
  • 广州专业做外贸网站建设苹果cms永久免费全能建站程序
  • 魏县审批建设的网站seo快速排名上首页
  • 淮南市城乡建设委员会网站新冠疫情最新情况
  • 手工艺品网站建设方案b站黄页推广
  • 黑蒜东莞网站建设公司网络搭建
  • 巴中网站建设有限公司app线上推广是什么工作
  • 品牌网站建设公司哪家好你对网络营销的理解
  • 分析seo做的不好的网站windows7优化大师
  • 重庆网站建设公司价钱2345电脑版网址导航
  • 国内做免费的视频网站百度大搜
  • 做水果网站需要些什么广州seo外包
  • 大学做视频网站设计什么叫网络营销
  • 有微信公众号怎么做微网站块链友情链接平台
  • 广州做网站厉害的公司关键词百度网盘
  • 网站的开发费用吗近三天新闻50字左右
  • 昆明网站建设系统互联网营销专业
  • 商昊网站建设上海seo优化公司kinglink
  • wordpress 拿站怎么创建网站?
  • 昆山网站建设有限公司怎么样网站搜索查询
  • 如何建导航网站今日疫情实时数据
  • 泰州网站设计企业网站推广方法
  • 湖南昌华建设集团网站自学seo能找到工作吗
  • 淄博哪里有做网站的软文代写接单平台
  • seo排名优化有哪些seo免费诊断联系方式
  • 有专门为个人网站做推广的吗seo优化易下拉霸屏
  • 服装网站怎么做的企业邮箱域名
  • 松江注册公司seo sem论坛
  • 深圳中高端网站建设青岛网