【Android】功能丰富的dumpsys activity

在Android中,要查看客户端Binder的连接数,可以通过dumpsys命令结合service参数来获取相关信息。请按照以下步骤进行操作:

  1. 连接到设备的计算机上,打开命令行终端。

  2. 使用adb shell命令进入设备的Shell环境。

  3. 执行以下命令来查看服务的信息:

    Copy

    复制代码
    dumpsys activity services
    ```
    
    该命令将列出设备上所有活动的服务信息,包括服务的名称、PID(进程ID)等。
  4. 在输出中找到您感兴趣的服务,并查看其详细信息。通常,客户端Binder连接数会在服务的详细信息中列出。

    例如,如果要查看名为"com.example.myapp.MyService"的服务的客户端Binder连接数,可以使用以下命令:

    Copy

    复制代码
    dumpsys activity services | grep "com.example.myapp.MyService"

    这将过滤输出,只显示包含所查找服务名称的行。

    在输出中,您可能会找到类似以下的行:

    Copy

    复制代码
    Client Bindings: [com.example.client1.IBinderConnection] @ 0x12345678 (pid=123, uid=456)
    Client Bindings: [com.example.client2.IBinderConnection] @ 0x87654321 (pid=789, uid=987)

    上述行显示了与服务绑定的客户端Binder连接数,每个连接对应一个客户端。通过计数这些行,您可以确定客户端Binder的连接数。

请注意,对于非系统应用程序,您可能只能查看与自己应用程序相关的服务信息。而对于系统级服务,可能需要具有root权限或系统签名才能查看其详细信息。

dumpsys activity 功能查看

dumpsys activity -h

Activity manager dump options:

-a\] \[-c\] \[-p PACKAGE\] \[-h\] \[WHAT\] ... WHAT may be one of: a\[ctivities\]: activity stack state r\[recents\]: recent activities state b\[roadcasts\] \[PACKAGE_NAME\] \[history \[-s\]\]: broadcast state broadcast-stats \[PACKAGE_NAME\]: aggregated broadcast statistics i\[ntents\] \[PACKAGE_NAME\]: pending intent state p\[rocesses\] \[PACKAGE_NAME\]: process state o\[om\]: out of memory management perm\[issions\]: URI permission grant state prov\[iders\] \[COMP_SPEC ...\]: content provider state provider \[COMP_SPEC\]: provider client-side state s\[ervices\] \[COMP_SPEC ...\]: service state allowed-associations: current package association restrictions as\[sociations\]: tracked app associations exit-info \[PACKAGE_NAME\]: historical process exit information lmk: stats on low memory killer lru: raw LRU process list binder-proxies: stats on binder objects and IPCs settings: currently applied config settings service \[COMP_SPEC\]: service client-side state package \[PACKAGE_NAME\]: all state related to given package all: dump all activities top: dump the top activity WHAT may also be a COMP_SPEC to dump activities. COMP_SPEC may be a component name (com.foo/.myApp), a partial substring in a component name, a hex object identifier. -a: include all available server state. -c: include client state. -p: limit output to given package. --checkin: output checkin format, resetting data. --C: output checkin format, not resetting data. --proto: output dump in protocol buffer format. --dump-dumpable: dump just the DUMPABLE-related state of an activity. Use the --list-dumpables option to list the supported DUMPABLEs --list-dumpables: show the available dumpables in an activity exit-info \[PACKAGE_NAME\] 可以查看应用退出的时间,原因等信息, binder-proxies 可以来查看应用中binder proxy情况 dumpsys activity 信息量很大,是非常强大的工具,也是学习了解AMS的一个很好的切入点

相关推荐
似霰2 小时前
AIDL Hal 开发笔记2----AIDL HAL 实例分析light hal
android·framework·hal
—Qeyser2 小时前
Flutter 颜色完全指南
android·flutter·ios
2501_916008894 小时前
iOS 上架需要哪些准备,账号、Bundle ID、证书、描述文件、安装测试及上传
android·ios·小程序·https·uni-app·iphone·webview
摘星编程6 小时前
React Native for OpenHarmony 实战:DatePickerAndroid 日期选择器详解
android·react native·react.js
花卷HJ8 小时前
Android 沉浸式全屏实践:主题 + 状态栏文字颜色完整方案
android
花卷HJ9 小时前
Android 项目中 BaseActivity 封装实践(支持 ViewBinding、PermissionUtils动态权限、加载弹窗和跳转动画)
android
消失的旧时光-194310 小时前
Android 接入 Flutter(Add-to-App)最小闭环:10 分钟跑起第一个混合页面
android·flutter
城东米粉儿11 小时前
android StrictMode 笔记
android
Zender Han11 小时前
Flutter Android 启动页 & App 图标替换(不使用任何插件的完整实践)
android·flutter·ios
童无极11 小时前
Android 弹幕君APP开发实战01
android