7

几个月来,我一直在编写一个 Android 应用程序。它尚未发布,但已安装在我的设备中。

今天我收到了来自 Battery Doctor 应用程序的通知,说我的应用程序消耗了大量 CPU,尽管我从昨天起就没有使用它。

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

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

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

所以我有几个问题,我非常感谢一些帮助:

  • 我的分析结果是预期的吗?或者如果我不与我的应用程序交互,这些功能是否不应该显示?
  • 如果这些功能不应该出现,谁能猜出我的应用程序可能出了什么问题?admob可能是原因吗?

非常感谢!

4

1 回答 1

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 消耗。

于 2019-01-02T18:02:27.873 回答