android - 如何调试应用程序的后台行为?

标签 android debugging background alarmmanager battery

我的应用程序在“设置”->“电池”中出现此行为:

CPU Total : 9m30s
CPU foreground : 23s
Keep awake : 0s
Wi-Fi running : 4s
...
Computed power used : 60mAh

我看到电池电量耗尽,手机发热。很明显我的应用程序在那里做了一些事情。但是什么?

我的一般问题是如何调试(最佳实践、工具)我的应用程序真正在做什么?

关于这个具体案例,我将补充说该应用程序使用 AlarmManager:

AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
alarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME, 0, ONE_HOUR_MS, pendingIntent);

我尝试在应用程序的调试版本上启动 traceview,但是 AlarmManager 唤醒的线程很快就结束了,属于应用程序进程的其他线程都没有做任何工作。

最佳答案

为了实现您的目标,有一个名为 Systrace 的工具。

Systrace

关于android - 如何调试应用程序的后台行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35395062/

相关文章:

Android 11 (R) 在查询 ACTION_IMAGE_CAPTURE 的 Intent 时返回空列表

Android NDK r6b 交叉编译libfaac for android(链接libsupc++问题)

android - 如何知道调试时看到的 SQLiteCursor 地址后面是什么?

c - 我的 n 皇后拼图代码有什么错误?

c++ - 在任何事情发生之前程序在调试器中崩溃

ruby-on-rails - Rails 将脚本作为后台作业执行

android - 在 Listview 和 BaseAdapter 中设置可见性的问题

c - 编程 e^x 无限系列

java - TableCellRenderer 工作正常,表格排序正常,但不重新绘制

css - 背景图像/颜色在 IE 中不可见