由于它在下面的控制台输出中可见,因此应用程序通常需要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'
解决方法
“处理排队服务任务”和“不活动,与AppMeasurementService断开连接”消息都记录在工作线程上,而不是主应用程序线程上,因此它们不会占用您的应用程序.
排队服务任务的处理可能几乎立即完成;由于不活动导致的断开仅仅意味着没有人要求Firebase Analytics做一段时间的事情,所以它会断开与其服务的连接,直到有人这样做.这是正常的,特别是如果您的应用没有拨打FirebaseAnalytics.
“暂停活动”表示应用程序的当前活动(屏幕)已从显示中删除;这可能是您的应用程序执行的操作或用户操作.由于之后有一条“onActivityCreated”消息,我会说你的应用程序摆脱了一项活动并将其替换为另一项活动.
如果没有关于您的应用正在做什么的更多信息,很难猜测为什么应用可能会有缓慢的响应.
顺便说一下,尝试使用“adb logcat -v threadtime”来获取日志记录语句中的进程和线程ID.