最近,我的游戏在引入广告后在 Android Vitals 上的冻结帧数显着增加。
我想使用 FrameMetricsAggregator 来监控哪些广告活动导致了这个问题(应用程序渲染基于除广告之外的 open gl)。
我根据文档在我的代码中添加了监控,但如果我没有在构造函数中指定任何活动,结果总是空的。由于广告展示调用是无效返回类型,我不确定如何监控这些特定活动。
关于如何实现这一目标的任何想法?
最近,我的游戏在引入广告后在 Android Vitals 上的冻结帧数显着增加。
我想使用 FrameMetricsAggregator 来监控哪些广告活动导致了这个问题(应用程序渲染基于除广告之外的 open gl)。
我根据文档在我的代码中添加了监控,但如果我没有在构造函数中指定任何活动,结果总是空的。由于广告展示调用是无效返回类型,我不确定如何监控这些特定活动。
关于如何实现这一目标的任何想法?
Yaay找到了一些可以帮助我的东西,
https://stackoverflow.com/a/11082332/6053599
使用上述答案中的代码,我可以获得广告活动的生命周期回调``可用于启动和停止跟踪和框架指标。
像这样工作,
当广告显示一个创建的新活动并通过回调通知我们时,通过onActivityCreated(activity,bundle)
调用将回调中收到的活动添加到框架指标中frameMetrics.add(activity)
之后,当广告关闭时,我们会onActivityStop(activity)
在其中简单地调用frameMetrics.stop()
以获取 sparseArray 的帧统计信息,我可以从中计算 janky 帧、冻结帧等。
如果有人感兴趣,将使用最终代码更新答案。