初始化耗时统计
利用时间差:
通过这种方式可以较准确的得到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个。