Firebase 应用程序启动时间分析如何在 Android 上工作?
How does Firebase app start time profiling work on Android?
我注意到 Firebase 性能监控确实提供了开箱即用的 some automatic traces。
特别是我正在查看冷应用程序启动时间跟踪,这正是我现在需要做的。
不幸的是,我确实需要更精细的数据,所以我想我可以自己做,但到目前为止我还没有想出一个合理的方法来衡量 Android 应用程序的真正冷启动时间(想想在启动器中点击图标和看到给定 Activity) 的 UI 之间的时间。
文档说,Firebase 在调用 FirebasePerfProvider.onCreate
回调时启动跟踪。据我所知,这应该在应用程序进程启动后很快发生,这很好,但这也意味着即使应用程序刚刚收到通知(或一般的广播)也会调用它,此时进程可能不会在用户实际打开应用程序时终止。这意味着它会错误地测量持续时间。
鉴于 SDK 尚未(还?)开源,我找不到更好的描述来说明其工作原理。
有没有人知道更多?
如果 Android 进程是通过 Service 或 BroadcastReceiver 启动的,则不会启动跟踪。因此,如果 Activity 在该过程中实际启动时,应用程序启动跟踪不会出现任何问题,即使它看起来很长。仅当进程被 Activity.
调用时才会发生应用程序启动跟踪
我已经更新了 documentation 以包含这一事实,该更改应该会很快发布。
我注意到 Firebase 性能监控确实提供了开箱即用的 some automatic traces。 特别是我正在查看冷应用程序启动时间跟踪,这正是我现在需要做的。 不幸的是,我确实需要更精细的数据,所以我想我可以自己做,但到目前为止我还没有想出一个合理的方法来衡量 Android 应用程序的真正冷启动时间(想想在启动器中点击图标和看到给定 Activity) 的 UI 之间的时间。
文档说,Firebase 在调用 FirebasePerfProvider.onCreate
回调时启动跟踪。据我所知,这应该在应用程序进程启动后很快发生,这很好,但这也意味着即使应用程序刚刚收到通知(或一般的广播)也会调用它,此时进程可能不会在用户实际打开应用程序时终止。这意味着它会错误地测量持续时间。
鉴于 SDK 尚未(还?)开源,我找不到更好的描述来说明其工作原理。
有没有人知道更多?
如果 Android 进程是通过 Service 或 BroadcastReceiver 启动的,则不会启动跟踪。因此,如果 Activity 在该过程中实际启动时,应用程序启动跟踪不会出现任何问题,即使它看起来很长。仅当进程被 Activity.
调用时才会发生应用程序启动跟踪我已经更新了 documentation 以包含这一事实,该更改应该会很快发布。