我已经写了几个月的Android应用了。它尚未发布,但已安装在我的设备中。
今天我从Battery Doctor应用程序收到一条关于我的应用消耗大量CPU的通知,即使我从昨天起就没有使用它。
所以基本上我的应用程序在后台运行,它不应该做任何事情,但它正在使用CPU。
所以我打开了TraceView,并在我的应用程序处于后台时进行了一些分析(在此分析时间内我根本没有与我的应用程序进行交互)这就是我得到的:http://i.imgur.com/PYg6twX.png
我在这里很无能为力。从我的实际代码中我根本看不到任何功能,所以我甚至不知道从哪里开始寻找。我并不真正理解屏幕截图中的功能或者它们出现在那里的原因。
所以我有几个问题,我真的很感激一些帮助:
非常感谢!
答案 0 :(得分:0)
查看我的CPU配置文件。我的应用程序是在后台运行的,但是CPU的总消耗通常为1-5%,如果长时间这样运行会导致电池消耗。
按照@CommonsWare的建议,我删除了admob依赖项并再次运行。 CPU消耗几乎减少了0%的时间。查看新的个人资料:https://i.stack.imgur.com/bMBuL.png
(admob SDK版本:17.1.2
)
但这不是解决方案。我检查了他们的示例应用,它的后台没有CPU消耗。
如果您使用横幅广告,则必须在主机活动的相应事件中至少调用AdView#pause
或AdView#destroy
。否则,广告视图会继续检查"Active view",这会导致CPU消耗。