移动端 App 的性能稳定性监控与物联网设备连接领域。面向需要定位线上卡顿/ANR 根因、以及需要与蓝牙/网络设备进行稳定实时通信的 Android 应用,提供低侵入、本地优先的诊断与连接基础能力。
点击空白处退出提示
移动端 App 的性能稳定性监控与物联网设备连接领域。面向需要定位线上卡顿/ANR 根因、以及需要与蓝牙/网络设备进行稳定实时通信的 Android 应用,提供低侵入、本地优先的诊断与连接基础能力。
Tracelet 是一个低侵入的 Android 性能诊断与设备连接 SDK,包含以下功能模块:1)主线程卡顿检测:基于 Looper 消息监控识别卡顿并采集堆栈;2)事件存储:本地 JSON 持久化,自动按时效/数量/体积清理;3)SDK 统一入口:初始化、采集器管理、Activity/Fragment 页面自动追踪;4)蓝牙模块:BLE/经典蓝牙扫描、连接与 GATT 读写订阅;5)长连接模块:自定义 TCP 协议、心跳保活、断线自动重连;6)协议层:帧编解码与粘包处理,供端到端复用。
我独立完成全部模块的设计与实现。技术栈:Kotlin、协程、kotlinx.serialization。架构按职责分层(core 定义模型与接口,各能力模块独立实现,sdk 层组装对外)。亮点与难点:1)卡顿检测用独立看门狗线程 + Looper message logging 做无侵入监控,采栈不阻塞主线程;2)存储层用 limitedParallelism(1) 串行化磁盘 IO + 临时文件原子写防损坏;3)长连接实现心跳假死检测与 epoch 代际模型,解决连接/重连/关闭的并发竞态;4)自定义二进制帧协议处理 TCP 粘包/半包与 CRC 校验;5)蓝牙侧实现 GATT 操作串行化与会话作废,规避并发回调乱序。



评论