为什么我的Android应用程序在后台使用CPU?

Jor*_*cón 6 android cpu-usage android-traceview

我已经写了几个月的Android应用了.它尚未发布,但已安装在我的设备中.

今天我从Battery Doctor应用程序收到一条关于我的应用消耗了大量CPU的通知,即使我从昨天起就没用过它.

所以基本上我的应用程序在后台运行,它不应该做任何事情,但它正在使用CPU.

所以我打开了TraceView并在我的应用程序中进行了一些分析(在此分析时间内我根本没有与我的应用程序进行交互)这就是我得到的:http://i.imgur.com/ PYg6twX.png

我在这里很无能为力.我从实际代码中看不到任何功能,所以我甚至不知道从哪里开始查找.我真的不明白屏幕截图中的功能是什么,或者为什么它们会出现在那里.

所以我有几个问题,我真的很感激一些帮助:

  • 我的分析结果是否可以预期?或者,如果我没有与我的应用程序进行交互,那些功能是不应该出现的?
  • 如果这些功能不应该出现,谁能猜到我的应用程序中可能出现的问题?难道撒谎是原因吗?

非常感谢!

Kha*_*.NT 0

我有同样的问题

查看我的 CPU 配置文件。我的应用程序处于后台,但CPU消耗始终在1-5%,如果继续这样长时间运行,会导致电池耗尽。

在此输入图像描述

阿德莫布?

根据 @CommonsWare 的建议,我删除了 admob 依赖项并再次运行。CPU消耗几乎下降到0%。查看新配置文件:https://i.stack.imgur.com/bMBuL.png (admob SDK 版本17.1.2:)

但这不是解决方案。我检查了他们的示例应用程序,它没有在后台消耗 CPU。

我修好了它

如果您使用横幅广告,则至少必须调用AdView#pauseAdView#destroy在主机活动的相应事件中调用。否则,广告视图会不断检查“活动视图”,并导致 CPU 消耗。