• android系统耗时关键字


    binder_sample:
    监控每个进程中主线程中的binder_transaction中的耗时情况. 当超过阈值时, 则输出相应的目标调用信息
    1901 1901 I binder_sample: [com.android.internal.telephony.ITelephonyRegistry,10,11,com.android.phone,2]
    主线程: 1901
    执行ITelephonyRegistry接口
    对应的方法 transaction code 为10
    所花费的时间为11ms
    该block所在的包是com.android.phone
    sample比例为2

    dvm_lock_sample
    当某个线程等待lock的block住的时间超过阈值,则输出当前的持锁状态信息
    1389 7526 I dvm_lock_sample: [system_server,1,Binder:1389_8,59,BatteryStatsService.java,521,void com.android.server.am.BatteryStatsService.noteStopWakelock(int, int, java.lang.String, java.lang.String, int),BatteryExternalStatsWorker.java,508,void com.android.server.am.BatteryExternalStatsWorker.updateExternalStatsLocked(java.lang.String, int, boolean, boolean, boolean),lock <0x0383ae62> (a com.android.internal.os.BatteryStatsImpl) held by thread 1590 (batterystats-worker),11]

    am_lifecycle_sample:
    当app在主线程中的生命周期回调方法执行超过阈值,则输出信息
    8203 8203 am_lifecycle_sample: [0, com.android.systemui, 114, 3837]
    pid: 8203 com.android.systemui 在messageCode=114方法中 耗时 3.837s
    (其他messageCode 见ActivityThread.H类)

    binder thread:
    当system server 等进程的线程池使用完, 无空闲线程时, 则binder 通信处于饥饿状态, 饥饿状态超过一定的阈值, 则输出信息
    3438 3560 E IPCThreadState: binder thread pool (15 threads) starved for 20427 ms
    线程池满的状态超过20s

  • 相关阅读:
    mysql-MVCC
    微服务·架构组件之注册与发现
    Vue中组件的递归
    【C语言库函数模拟实现 】# Strlen()
    C++ Primer Plus第五版笔记(p1-50)
    多级缓存之JVM进程缓存
    Java基础深化和提高 ---- 反射技术
    Vue中给对象添加新属性时,界面不刷新怎么办?
    OPENWRT本地局域网模拟域名多IP
    基于ARM的环境参数检测系统设计(Labview+STM32+ZigBee)
  • 原文地址:https://blog.csdn.net/zengfenliang/article/details/127439235