一款强大的 Android 性能监控组件——卡卡监控(KaKaMonitor)

达芬奇密码2018-08-02 10:40

卡卡监控(KaKaMonitor)是藏宝阁自研的一款 Android 性能监控组件,它能在 APP 发生卡顿期间,弹出友好的界面提醒, 输出有效的卡顿信息,让你一目了然,发现、解决卡顿问题。同时,卡卡监控也提供了 APP 主线程方法耗时排行榜功能。 如您感兴趣,且听我说说!

前言

无论你是新项目还是老项目,代码日积夜累只会越来越庞大,期间由于业务的复杂或者引入了第三方SDK库,当发生卡顿 时,你都很难排查究竟是哪出了问题!能在手机上重现还好,若是偶然性卡顿,这就真的坑死你,当然,我有点危言耸听 了!但真碰到了,你也不用怕,因为KaKaMonitor能帮助你!

KaKaMonitor 的诞生

一直以来,每当用户说你的 APP 越做越卡时,我都深深的在反思,究竟是哪里出问题了!是Memory、CPU、Network、 GPU...这些吗,还是真的是我的代码有问题啊?恩,怀疑人生啊!如果这时,有个组件能在开发阶段,全面监控着APP 的卡顿情况,能一目了然的提供详细的堆栈信息,能知道代码中每个方法的耗时情况,是不是就可以很大程度上,避免 我们写出卡顿的代码呢?答案:是的。

KaKaMonitor 的功能

一、监控界面信息

  1. 卡顿信息
    • 线程名
    • 线程ID
    • 文件名
    • 类名
    • 方法名
    • 所在行数
    • 详细堆栈
  2. 手机状态信息
    • 手机名称
    • 手机系统
    • 当前网络
    • 占用内存
    • 剩余内存
    • 总内存
    • cpu相关
  3. 其他
    • 丢帧

甩手一张图:

二、主线程方法排行榜

  • 包名:方法名:行数
  • 方法ID
  • 耗费总时间
  • 耗费平均时间
  • 调用次数

甩手再一张图:

KaKaMonitor 原理

(1) Handler & Looper

(2) Choreographer.FrameCallback

(3) MethodCostTime

(注:空闲了详细说说)

目前已应用

           


本文来自网易实践者社区,经作者陈继军授权发布。