didi / didi/DoKit

【Android】-函数耗时统计功能不生效

Open
#1,132 1 comment 0 reactions 1 assignee Claimed by @jtsky View on GitHub
Dominant language
Java
Stars
20.4k
Forks
3.2k
Avg merge
1d 12h
Merged PRs (30d)
2

Description

手机型号: Android 12 华为荣耀RNA-AN00
问题:使用plugin的函数耗时统计功能,配置信息后,函数统计功能无法生效。
配置信息:

gradle.properties 文件配置信息如下:
DOKIT_PLUGIN_SWITCH=true
DOKIT_LOG_SWITCH=true
DOKIT_METHOD_SWITCH=true
DOKIT_METHOD_STACK_LEVEL=4
DOKIT_METHOD_STRATEGY=0
DOKIT_THIRD_LIB_SWITCH=true

application的build.gradle文件配置信息如下:(改配置与android{} 配置同一级)
apply plugin : 'com.didi.dokit'
dokitExt {
//通用设置
comm {
//地图经纬度开关
gpsSwitch false
//网络开关
networkSwitch false
//大图开关
bigImgSwitch false
//webView js 抓包
webViewSwitch false
}

slowMethod {
//调用栈模式配置
stackMethod {
//默认值为 5ms 小于该值的函数在调用栈中不显示
thresholdTime 5
//调用栈函数入口

enterMethods =
[
"???.???.???.mine.ui.activity.SwitchShopActivity.initData",
"???.???.???.main.ui.activity.MainActivity.init",
"???.???.???.main.ui.activity.MainActivity.clearPlayerCoverBitmap"
]
//黑名单 粒度最小到类 暂不支持到方法
methodBlacklist = [""]
}
//普通模式配置
normalMethod {
//默认值为 500ms 小于该值的函数在运行时不会在控制台中被打印
thresholdTime 100
//需要针对函数插装的包名
packageNames = ["???.???.???"]
//不需要针对函数插装的包名和类名
methodBlacklist = [""]
}
}
}

实际运行结果:
构建阶段部分日志如下:(构建日志中并没有看到我配置的函数的插装日志信息)

> Task :app:transformClassesWithDoKitCommTransformV34ForChinaDebug
com.didichuxing.doraemonkit.plugin.classtransformer.CommClassTransformer : 3927 ms
com.didichuxing.doraemonkit.plugin.classtransformer.BigImgClassTransformer : 74 ms
com.didichuxing.doraemonkit.plugin.classtransformer.GSMClassTransformer : 50 ms
com.didichuxing.doraemonkit.plugin.classtransformer.EnterMSClassTransformer : 60 ms

> Task :app:transformClassesWithDoKitDependTransformV34_1ForChinaDebug
com.didichuxing.doraemonkit.plugin.classtransformer.MSDClassTransformer : 233 ms

> Task :app:transformClassesWithDoKitDependTransformV34_2ForChinaDebug
com.didichuxing.doraemonkit.plugin.classtransformer.MSDClassTransformer : 167 ms

> Task :app:mergeChinaDebugJavaResource

> Task :app:transformClassesWithDoKitDependTransformV34_3ForChinaDebug
com.didichuxing.doraemonkit.plugin.classtransformer.MSDClassTransformer : 162 ms

最终结果:
运行阶段打开logcat并没有看到有关TAG为DOKIT_SLOW_METHOD的任何信息。而且我的函数耗时肯定大于5ms的。

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.