• 【系统稳定性 - 调优】3.4 常见Binder相关异常调优总结


    binder通信是Android特有的一种通信机制,常见binder相关的异常包括卡binder对端处理超时,binder本端处理超时(导致主线程block)以及binder耗尽三类问题。无论是应用,Framework,Hal中间件,还是BSP驱动,熟悉这三类binder相关case的调试和分析,能够帮助我们快速地找到和解决问题。

    接下来按照问题复现的频率一一介绍和复盘。

    一,卡binder对端处理超时

    这一类问题在应用程序中比较常见,当然fwk,hal,bsp也会遇到。例如应用程序在某个逻辑中卡在与system_server的binder通信过程中,而system_servier则是卡在binder对端的hal服务处理超时,hal服务的处理超时可能是由于某个外设驱动处理超时,比如读写节点等;这里以一个简单的应用anr的例子来讲述,其分析逻辑都是一样的。

    因为anr很常见,系统中可能有很多个发生,那么就需要我们首先从测试工程师提供的问题复现的时间点去认证问题复现时间,通过在event中搜索am_anr找到对应的时间点信息,如下:

     然后再从/data/anr目录或者/data/system/dropbox中找到对应的堆栈信息;如下:

    通过上面的信息我

  • 相关阅读:
    生草也叫草生
    Java调用Linux SCP操作(SCPClient)
    Git 精简快速使用
    Linux 常用命令
    【JAVA】String类
    Window10 安装 Lua
    Cognos Analytics教程之为什么我喜欢 Cognos Analytics:IBM Cognos Analytics 的 15 个特性
    iperf 测试网络性能
    寻找技术合伙人111
    老板要我写个APP自动化--准备阶段--01
  • 原文地址:https://blog.csdn.net/huangyabin001/article/details/126942830