RUM Android SDK 旨在为 Android 应用提供全面的用户体验监控,通过在不同阶段进行 Hook、插桩和监听,实现对应用性能和稳定性的全面监控。它采用一个轻量级、模块化的架构,实现了对应用稳定性、性能和用户行为的无侵入式采集方案。整体架构自上而下分为四层:
- 接口层:最上层,对外暴露,供客户调用的 API。
- 功能层:负责数据采集,具体包含网络、交互、应用、卡顿、崩溃、自定义、Webview、页面等模块。
- 核心层:基础服务和工具类,包括日志、时间、数据协议,以及会话管理、配置管理、采集模块管理。
- 网络层(Producer):用于发送数据包。
在核心的功能层中,为了高效、精准地捕获各类事件,SDK 深度结合了 Android 平台的系统特性与框架能力,构建了多样化的采集方案。针对不同场景和数据类型,分别采用最适合的技术手段,主要包括三类:基于 Android Native 信号量的采集、基于字节码插桩的数据采集、以及基于标准 API 的采集。




