sensorsdata / sa-sdk-android

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

getDeviceInfo优化建议 #76

Closed William353 closed 3 years ago

William353 commented 3 years ago

现在每次上报事件,都需要获取Carrier,IMEI,deviceId,macAddress等,每个方法里都有会判断是否具有网络权限,而网络权限是需要binder通信的,此时会占用binder线程池数量,我的测试手机,小米play(Android8.1.0),网络权限校验执行耗时大概2\~3ms,netWorkType方法大概耗时3\~8ms,整个getDeviceInfo方法大概30ms。 1、获取Carrier,IMEI,deviceId,macAddress等信息的时候,是否可以不判断网络权限?或者只判断一次,所有方法都以参数的形式传入网络权限。 2、Carrier,IMEI,deviceId,macAddress这些值是固定的,是否可以全局保存一份,如果已经有值,就不需要再次获取。

dengshiwei commented 3 years ago

@William353 谢谢你的反馈,目前我们已经在做这块的优化了。

dengshiwei commented 3 years ago

@William353 我们在 v5.2.2 版本中已经做了优化。