gpt4 book ai didi

android - 什么是 com.google.android.gms.persistent,为什么它总是使用 CPU?

转载 作者:IT老高 更新时间:2023-10-28 21:38:37 34 4
gpt4 key购买 nike

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

去年关闭。




Improve this question




即使没有其他事情发生,这个系统进程似乎也稳定地使用了 1-2% 的 CPU。在一天的过程中,即使设备没有用于任何事情,这也会消耗大量电池。我无法将它与任何其他应用程序相关联,因为即使它们在几个小时的过程中只使用了几秒钟的 CPU 时间,这个过程也会使用几分钟。

即使我:

  • 关闭 WiFi
  • 关闭蓝牙
  • 关闭定位服务
  • 关闭除最基本的同步之外的所有内容(例如 GMail)

  • 我写了一个监控的小测试应用 /proc/<pid>/stat每 10 毫秒并随时写入 logcat com.google.android.gms.persistent ,希望它会向 logcat 本身写一些东西,以查明哪些应用程序或其他服务正在为其服务使用“持久性”。我没有看到太多,但这里有一些我确实看到的东西:
    InputReader: Reconfiguring input devices.  changes=0x00000010
    WifiService: acquireWifiLockLocked: WifiLock{NlpWifiLock type=2 binder=android.os.BinderProxy@f73f0b8}
    LocationFilter: Forcing stable location. Original location:Location[...
    ConnectivityService: notifyType CAP_CHANGED for NetworkAgentInfo [WIFI () - 246]

    上面的每一行都在不同的时间,紧接在 com.google.android.gms.persistent 检测 CPU 使用率的日志消息之前(在 10 毫秒内)但没有任何明确的迹象表明它是否相关。不幸的是,上述报告都没有报告超过 10 毫秒的 CPU 时间,因此 - 即使准确地表示使用“持久”的内容也仅代表所使用的实际 CPU 时间的一小部分。

    研究此过程的用途的其他尝试提出了各种我没有也从未连接到我的设备的东西(例如可穿戴设备)。

    这个过程有什么用?我正在直接查找此信息,或者以其他方式来推断此信息,类似于我通过 logcat 的尝试。

    更新:我一直在 https://android.googlesource.com 上寻找来源(例如 com.google.android.gms.persistent.java 或类似的东西)没有任何运气。这不是公共(public)源代码的一部分吗?真正奇怪的是,甚至似乎没有任何文档,例如这里: https://android.googlesource.com/platform/frameworks/base/+/33fca8e/docs/html/reference/com/google/android/gms

    更新 2:我在“设置”->“帐户”下禁用了所有同步。这似乎更多地减少了 CPU 使用率,并且电池电量下降似乎已经下降到爬行 - 除了定期 com.google.android.gms.persistent 似乎仍然需要 CPU 的爆发。

    我现在的工作理论是它有一个警报,无论是否需要,它都会以大约 60 秒的间隔触发,并且该代码正在检查同步工作,如果没有需要同步的内容,它就会放弃正确的时间片离开并让 CPU 直接进入休眠状态。然而,我不敢相信会使用如此可怕的设计,因为任何每分钟唤醒 CPU 的东西肯定会更快地耗尽电池,即使它只是重新进入休眠状态,为什么要使用轮询而不是为了同步而中断驱动?

    据我所知(由于无法找到)com.google.android.gms.persistent 的源代码不是开源的,也不是在任何地方都可以在线获得。如果我错了,我会接受任何指向源代码的答案作为我的问题的答案,因为我可以浏览它并自己确定 CPU 使用率的原因。

    最佳答案

    它不是病毒或木马。谷歌播放服务进程需要在Android平台上正确运行谷歌播放服务。实际上它是在后台运行的主要进程,对应用程序提供支持并与 google play 商店链接并保持更新并提供其他 google play 服务功能很有用。关于 CPU 使用率,许多其他应用程序也在后台运行并占用资源,但它是为了保持更新并为您提供更好的实时服务。

    关于android - 什么是 com.google.android.gms.persistent,为什么它总是使用 CPU?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36702514/

    34 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com