【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:

activities: activity stack state

rrecents: recent activities state

broadcasts PACKAGE_NAME history \[-s]: broadcast state

broadcast-stats PACKAGE_NAME: aggregated broadcast statistics

intents PACKAGE_NAME: pending intent state

processes PACKAGE_NAME: process state

oom: out of memory management

permissions: URI permission grant state

providers COMP_SPEC ...: content provider state

provider COMP_SPEC: provider client-side state

services COMP_SPEC ...: service state

allowed-associations: current package association restrictions

associations: 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的一个很好的切入点

相关推荐
芝麻别开门3 小时前
gst-shark安卓编译使用方法
android·gstreamer·gst-shark
2501_915921437 小时前
iOS应用耗电测试:使用Energy Log、Keymob和Instruments进行性能监控与能源消耗分析
android·ios·小程序·https·uni-app·iphone·webview
蒲公英内测分发8 小时前
热成像仪交付客户后,Android 配套 App 不上架,怎么持续下载安装和更新
android·机器人·项目管理·智能家居·智能硬件
脚踏实地,坚持不懈!8 小时前
Android 常见性能问题总结
android
高旭的旭9 小时前
图解 Android 系统架构:从 App、Framework、HAL 到 Linux 驱动
android·linux·系统架构
hunterandroid9 小时前
Navigation Component 多模块导航与深度链接实战
android
快乐非自愿9 小时前
低代码落地费控系统:从报销流程到业财闭环的实操方案
android·低代码·rxjava·ai低代码
摇滚侠10 小时前
《Java并发编程之美》第 2 章 并发编程的其他基础知识 阅读笔记 3
android·java·笔记
YB137510 小时前
Jetpack Compose 动画updateTransition
android
用户20187928316710 小时前
给主厨装一台打卡机:一文搞懂 Android APM 性能监控原理
android