sensorsdata / sa-sdk-android

神策数据官方 Android 埋点 SDK,是一款轻量级用于 Android 端的数据采集埋点 SDK,包含代码埋点、全埋点、点击图和可视化全埋点功能。全埋点通过配合神策官方 Android 埋点插件来实现,神策数据官方 Android 埋点插件使用字节码插桩(ASM)的技术实现 Android 端的全埋点(无埋点、无码埋点、无痕埋点、自动埋点)。
http://opensource.sensorsdata.cn
Other
1.31k stars 434 forks source link

com.sensorsdata.analytics.android.sdk.util.AopUtil.buildTitleAndScreenName 方法耗时较高 #78

Closed William353 closed 3 years ago

William353 commented 3 years ago

耗时有点高啊,老铁 主要是每个页面都要执行getActivityTitle 手机:红米k30pro

Lark20210224-112417 Lark20210224-112810

dengshiwei commented 3 years ago

@William353 因为 SDK 内部是不依赖 support 包,所以对于页面标题的获取采用的是反射进行,反射的方式会有些耗时。

William353 commented 3 years ago

@William353 因为 SDK 内部是不依赖 support 包,所以对于页面标题的获取采用的是反射进行,反射的方式会有些耗时。

下面走到了 createSubdecor,创建了布局,主要是这个方法的耗时。获取标题这里能优化下吗,如果没有别的方法的话,是不是可以直接上报activity name ?

dengshiwei commented 3 years ago

@William353 SDK 层主要是通过 getSupportActionBar 反射获取 ActionBar 对象,来读取标题。createSubdecor 应该是 Android 系统层进行处理的,为了保证取值的准确性合理,所以才没完全依照 activity name 进行处理。