【问题标题】:V/FA: Processing queued up service tasks: 1 followed by V/FA: Inactivity, disconnecting from AppMeasurementServiceV/FA:处理排队的服务任务:1 后跟 V/FA:不活动,与 AppMeasurementService 断开连接
【发布时间】:2017-02-04 10:16:41
【问题描述】:

正如在下面的控制台输出中可见,应用程序通常需要 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(app)

//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'

【问题讨论】:

  • AppManagemenService 是 Firebase Analytics 的一部分。很有可能(我不是此 Firebase 功能方面的专家)试图捕捉用户打开应用的事实。
  • @FrankvanPuffelen 我可以看到该服务带有 firebase-core 但我真正感兴趣的是为什么围绕它的整个过程需要这么长时间以及如何处理它。欢迎任何想法。
  • 什么是需要很长时间的“整个过程”。此日志记录不会阻止应用程序启动。
  • @FrankvanPuffelen 当应用程序到达日志中我得到的点——处理排队的服务任务:1——如果你考虑到,它会冻结几秒钟“看起来”什么都不做用户界面。之后,到达它所说的行——不活动,与 AppMeasurementService 断开连接——在将控制权交还给用户之前还需要几秒钟。我没有使用任何 FirebaseAnalytics 功能和初始化,所以我真的不知道如何追踪问题。

标签: android firebase firebase-analytics


【解决方案1】:

“正在处理排队的服务任务”和“不活动,与 AppMeasurementService 断开连接”消息都记录在工作线程上,而不是主应用线程上,因此它们不会阻止您的应用。

排队的服务任务的处理可能几乎立即完成;由于不活动而断开连接仅意味着暂时没有人要求 Firebase Analytics 做任何事情,因此它会断开其服务,直到有人这样做。这很正常,尤其是当您的应用未调用 FirebaseAnalytics 时。

“Activity paused”表示应用当前的activity(屏幕)已从显示中移除;这可能是您的应用程序所做的事情或用户操作。由于在那之后有一条“onActivityCreated”消息,我会说您的应用摆脱了一个活动并用另一个活动替换它。

如果没有关于您的应用在做什么的更多信息,很难猜测为什么应用可能会响应缓慢。

顺便说一句,尝试使用“adb logcat -v threadtime”在日志语句中获取进程和线程 ID。

【讨论】:

    【解决方案2】:

    首先确保您使用的是实时数据库而不是云 Firebase 然后将规则更改为:

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

    并确保您已获得互联网许可

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

    再次为我们的项目重新构建对我有用的项目

    【讨论】:

    • FCM 与实时数据库无关
    【解决方案3】:

    我遇到了类似的问题 我将我的 apache 服务器设置为我的 android 应用程序的主机服务器,每次我尝试登录时都会收到错误消息
    我尝试了所有上述解决方案,但无济于事 直到我将 Windows 10 的网络设置从公共网络更改为专用网络 我认为这是因为防火墙设置

    如果你有同样的问题

    进入网络设置 -->> 点击你连接的网络 -->> 并选择 -->> 更改为专用网络

    希望对你有帮助

    【讨论】:

      【解决方案4】:

      这不是错误消息。它只是 Firebase 没有要报告的事件的消息,它与报告服务断开连接。可能是您没有内部连接或忘记在您的清单中写入权限。如果是,只需添加

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

      解决了我的问题

      【讨论】:

        猜你喜欢
        • 2018-02-15
        • 1970-01-01
        • 1970-01-01
        • 2016-12-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-24
        • 2021-03-13
        相关资源
        最近更新 更多