2017-11-13 14 views
0

私は、Firebase Performance Monitoringが出荷時にsome automatic tracesを提供していることに気付きました。 特に私はちょうど私が今やるべきことである冷たいアプリの開始時間のトレースを見ていました。 残念ながらもっと細かいデータが必要なので、私は自分でそれを行うことができると考えていましたが、これまでのところ、Androidアプリの真のコールドスタート時間を測定する合理的な方法を考え出すことができませんでした。ランチャーのアイコンをタップし、特定のアクティビティのUIを表示)。Firebaseアプリの起動時間プロファイリングはどのようにAndroidで動作しますか?

FirebasePerfProvider.onCreateコールバックが呼び出されると、Firebaseはトレースを開始します。私が知っている限り、これはアプリケーションプロセスが開始された直後に起こるはずです。それは良いことですが、アプリケーションが通知(または一般的なブロードキャスト)を受信して​​も呼び出されることを意味します。ユーザーが実際にアプリを開くまでに終了しないでください。それは間違った時間を測定することを意味します。

SDKがオープンソースではないとすれば、これがどのように機能するかについてのより良い説明は見つかりませんでした。

もっと知っていますか?

答えて

1

AndroidプロセスがServiceまたはBroadcastReceiver経由で起動された場合、トレースは開始されません。したがって、アクティビティがそのプロセスで実際に開始された場合、非常に長いように見えるかもしれないアプリ開始トレースに問題はありません。アプリケーションの開始トレースは、プロセスがアクティビティによって呼び出された場合にのみ発生します。

documentationを更新しました。この変更はすぐに公開されるはずです。

+0

ありがとうございました!これがどのように行われたかについての詳細はありますか?私はプロバイダが作成されている状況をどのように判断するのかは分かりません。 – simekadam

+0

私はエンジニアの一人から概要を得ましたが、詳細は調査していません。 –

+0

私は実際に 'ActivityManager'に問い合わせて、それから一番上のアクティビティを得ることができることに気付きました... – simekadam

関連する問題