web-dev-qa-db-ja.com

V / FA:キューに入れられたサービスタスクの処理:1に続いてV / FA:非アクティブ、AppMeasurementServiceから切断

以下のコンソール出力に表示されるように、アプリケーションは通常、サービスを処理するのに7〜10秒かかり、多くの場合失敗します。これはすべてのスタートアップで発生します。

なぜそんなに時間がかかるのですか?それは、サービスがあきらめる前に複数回接続しようとしているためですか?また、実際にこの出力の背後にあるロジックは何ですか?

注:アプリケーションにFirebaseAnalyticsコードがありません

09-26 23:34:48.998 /package V/FA: Processing queued up service tasks: 1
09-26 23:34:54.009 /package V/FA: Inactivity, disconnecting from AppMeasurementService
09-26 23:34:57.357 /package V/FA: Activity paused, time: 89152495
09-26 23:34:57.383 /package V/FA: onActivityCreated

build.gradle(アプリ)

//Firebase
compile 'com.google.firebase:firebase-core:9.4.0'
compile 'com.google.firebase:firebase-database:9.4.0'
compile 'com.google.firebase:firebase-invites:9.4.0'
compile 'com.firebase:geofire-Android:2.0.0'
compile 'com.firebaseui:firebase-ui:0.5.1'
12

「キューに入れられたサービスタスクの処理」および「非アクティブ、AppMeasurementServiceから切断」メッセージは両方とも、メインアプリスレッドではなくワーカースレッドに記録されるため、アプリを保持しません。

キューに入れられたサービスタスクの処理は、ほぼ瞬時に完了する可能性があります。非アクティブによる切断とは、Firebase Analyticsにしばらく何もするように誰も要求していないことを意味するため、誰かがそうするまでサービスから切断されます。これは正常です。特に、アプリがFirebaseAnalyticsを呼び出していない場合はそうです。

「アクティビティが一時停止」とは、アプリの現在のアクティビティ(画面)が表示から削除されたことを意味します。これはあなたのアプリがしたことやユーザーのアクションかもしれません。その直後に "onActivityCreated"メッセージがあるので、アプリが1つのアクティビティを削除し、別のアクティビティに置き換えたと思います。

アプリの動作に関する詳細情報がなければ、アプリの応答が遅い理由を推測することは非常に困難です。

ところで、「adb logcat -v threadtime」を使用して、ロギングステートメントでプロセスIDとスレッドIDを取得してみてください。

8
Dan Morenus

同様の問題があり、ApacheサーバーをAndroidアプリケーションのホストサーバーにしました。ログインするたびにエラーが発生します
上記のすべてのソリューションを試しましたが、Windows 10のネットワーク設定をパブリックネットワークからプライベートネットワークに変更するまでは役に立ちませんでした。これはファイアウォールの設定によるものだと思います

同じ問題がある場合

ネットワーク設定に移動->>接続しているネットワークをクリックして->>を選択し、->>プライベートネットワークに変更

それが役に立てば幸い

1
Exekute

これはエラーメッセージではありません。Firebaseにレポートするイベントがないというメッセージであり、レポートサービスから切断されます。内部接続をしたり、マニフェストに許可を書くのを忘れたりしないでください。はいの場合は追加するだけです

<uses-permission Android:name="Android.permission.INTERNET" />

それは私の問題を解決しました

0
L.Petrosyan

最初にクラウドFirebaseではなくリアルタイムデータベースを使用していることを確認してから、ルールを次のように変更します。

{
  "rules": {
    ".read": true,
    ".write": true
  }
}

そして、あなたがインターネットの許可を入れていることを確認してください

<uses-permission Android:name="Android.permission.INTERNET" />

そして、私のために働いているプロジェクトのために再構築します

0
manar odeh