我的项目有一个单一的Activity架构,每个屏幕被定义为一个片段,我们使用Firebase Performance来跟踪它的帧指标。以前我们必须根据Firebase使用的内容来创建屏幕跟踪器,因为Firebase只支持Activity的屏幕性能指标。当Firebase版本到20.1.0发布时,我们很高兴Firebase Performance支持对Fragments(源代码)的屏幕性能指标进行开箱即用的测量。
升级Firebase版本后,我们注意到Firebase性能监控 Jmeter 板中的Fragment屏幕名称被混淆。这是因为FragmentStateMonitor
使用了fragment.getClass().getSimpleName()
,并且片段被混淆。
我们已经尝试查找文档,以便为每个片段使用自定义的屏幕名称,但没有任何结果。在firebase-android-sdk仓库中已经发布了类似的问题(https://github.com/firebase/firebase-android-sdk/issues/3737和https://github.com/firebase/firebase-android-sdk/issues/3756),但我认为这些问题是不同的。
我们已经在我们的Proguard中添加了新的规则来保留片段名称,它解决了我们的问题,但我们认为这将是保留片段名称的最后一个选择。
除了将新规则添加到Profuard(例如,将屏幕名称注入到FragmentStateMonitor
)之外,是否还有其他方法可以解决此问题?
谢谢你:)
1条答案
按热度按时间qpgpyjmq1#
在挖掘了越来越多的信息之后,我决定在proguard中从模糊处理中排除
Fragment
类名: