【发布时间】:2017-12-06 03:41:25
【问题描述】:
我正在使用 Android 的 location 和 activity recognition 功能。用于实时位置跟踪。当前使用最新的ConnectionLess API。我遇到了以下问题:
在启动定位、活动服务后,电池偶尔会开始耗尽。这种行为很奇怪,因为整个排水管都显示在Google Play Services 下。即使应用程序被停止、终止等,消耗仍然存在。令我惊讶的是,即使应用程序被卸载,消耗仍然存在,并且需要几次完全充电才能摆脱这种情况。
我或多或少肯定我的应用程序触发了流失,因为多个设备记录了该问题,并且这些设备来自不同的制造商并跨越多个 Android 操作系统版本。在 ADB shell 中,我发现 com.google.android.gms 永久占用 126% 的 CPU,如下所示:
接下来,我列出了该进程下的所有线程。结果附在下面:
正如所见,有一个线程 CastSocketMulti 正在运行。所有其他线程都在休眠。在castSocketMulti 上没有得到太多信息,除了一些基本信息,比如它与 android 中的投射相关等。我们没有在我们的应用程序中使用任何与投射相关的东西。
之后,终止进程,排水停止。 注意:我发现了同样的问题here,但没有得到答复。
编辑:每次电池耗尽时,如上所述,com.google.android.gms 被列为占用 100%+ CPU 的第一进程和castSocketMulti,该进程的唯一线程处于R 状态
更新:我打开了一个问题here。 请留下一颗星,以便它可以优先考虑
【问题讨论】:
标签: android google-play-services battery