安卓中的火力基地和唤醒锁问题



我在Android应用中使用了多个Firebase产品:

compile 'com.google.firebase:firebase-core:11.0.1'
compile 'com.google.firebase:firebase-database:11.0.1'
compile 'com.google.firebase:firebase-storage:11.0.1'
compile 'com.google.firebase:firebase-auth:11.0.1'
compile 'com.google.firebase:firebase-messaging:11.0.1'

这些产品中的一个或多个似乎正在使用WAKE_LOCK权限。可能是分析或FCM。

我可以理解哪里需要它。然而,问题是,在Google Play控制台的Android指标部分中,Google警告我卡住的部分唤醒锁定百分比为2.30%,大于不良行为阈值0.70%。同样,后台卡住的部分唤醒锁定为1.40%,再次大于不良行为阈值0.10%。

换句话说,谷歌认为这个数量的唤醒锁是一种"不良行为"。

我不使用唤醒锁,所以问题似乎来自Firebase SDK。

有人知道是什么原因造成的吗?我们能解决这个问题吗?

查看应用的清单文件时,您可以使用 Android Studio 的"合并清单"选项卡来了解 Android 清单项的来源。 当您在清单上查看此信息时,您会看到WAKE_LOCK来自 firebase-iid。

要了解 Firebase-iid 包含的内容,您可以使用 gradle 显示依赖关系图。

./gradlew dependencies

它的输出表明它包含在 firebase-core 和 firebase-messaging:

+--- com.google.firebase:firebase-messaging:11.6.0
|    +--- com.google.firebase:firebase-iid:11.6.0
|    |    +--- com.google.android.gms:play-services-basement:11.6.0 (*)
|    |    +--- com.google.firebase:firebase-common:11.6.0 (*)
|    |    +--- com.google.android.gms:play-services-tasks:11.6.0 (*)
|    |    --- com.google.firebase:firebase-iid-license:11.6.0
|    +--- com.google.android.gms:play-services-basement:11.6.0 (*)
|    +--- com.google.firebase:firebase-common:11.6.0 (*)
|    --- com.google.firebase:firebase-messaging-license:11.6.0
--- com.google.firebase:firebase-core:11.6.0
     --- com.google.firebase:firebase-analytics:11.6.0
          +--- com.google.android.gms:play-services-basement:11.6.0 (*)
          +--- com.google.firebase:firebase-common:11.6.0 (*)
          +--- com.google.firebase:firebase-analytics-impl:11.6.0
          |    +--- com.google.android.gms:play-services-basement:11.6.0 (*)
          |    +--- com.google.firebase:firebase-iid:11.6.0 (*)
          |    +--- com.google.firebase:firebase-common:11.6.0 (*)
          |    +--- com.google.android.gms:play-services-tasks:11.6.0 (*)
          |    --- com.google.firebase:firebase-analytics-impl-license:11.6.0
          --- com.google.firebase:firebase-analytics-license:11.6.0

这里没有什么需要"修复"的。 Firebase 只是利用尾流锁来完成其正常业务。 您可以随时尝试删除权限,但随后 Firebase 可能无法正常工作。 别管它。

相关内容

  • 没有找到相关文章

最新更新