SDK性能自测小技巧

初始化耗时统计

利用时间差:

计算时间差

通过这种方式可以较准确的得到SDK的初始化耗时。

内存消耗统计

获取内存信息方法

方法一:使用命令

adb shell dumpsys meminfo -d <process-name>

方法二:使用IDE工具

打开logcat,选中侧边栏的系统信息,选择Memory Usage:

这里写图片描述

内存信息

示例场景:SDK初始化

SDK初始化前:

这里写图片描述

SDK初始化后:

这里写图片描述

内存消耗计算规则

这里我们只关注Pss Total,取前后Total之差:

20388 - 17317 = 3071 kB

流量消耗统计

流量相关的状态数据存储在/proc/uid_stat/<UID>/目录下,其中<UID> 表示apk对应的UID。

获取UID
方法一: 查看进程

这里写图片描述

UID = 10000 + 539 = 10539

注:Java程序的UID从10000起。

获取流量数据

示例:初始化前后的流量

因为初始化前没有任何网络请求操作,所以系统还没有任何对应UID的流量数据,我们点击按钮初始化之后再看的话就有流量数据了:

这里写图片描述

采集到前后两次流量数值后,即可计算得到总的流量消耗:

初始化流量消耗 = 1479 + 497 = 1976 bytes ≈ 1.93kb

线程数统计

运行Demo之后,打开Android Studio monitor

这里写图片描述

选中进程,然后Update Threads:

初始化前:

这里写图片描述

初始化后:

这里写图片描述

可以通过前后新增的线程来判断哪些是SDK初始化后的开的线程,从截图来看Bugly常驻线程有5个。

这里写图片描述

发布了671 篇原创文章 · 获赞 2751 · 访问量 573万+

猜你喜欢

转载自blog.csdn.net/wwj_748/article/details/52908813