能耗分析
能耗分析功能可以帮助开发者实时监测应用程序的耗电情况,并提供详细的耗电指标、耗电原因和异常耗电分析数据。该功能的使用场景和价值如下:
识别能耗瓶颈:通过能耗分析,您可以了解应用程序中哪些功能、模块或操作是主要的能耗来源。这有助于识别应用程序中的能耗瓶颈,并确定需要进行优化的关键节点。
优化电池寿命:能耗分析可以帮助您了解应用程序在不同使用情境下的能耗情况。通过识别高能耗操作或优化低功耗策略,您可以降低应用程序的能耗并延长移动设备的电池寿命。
硬件资源管理:能耗分析有助于更有效地管理应用程序使用的资源,例如:GPS、网络和传感器。通过了解应用程序的能耗模式,您可以制定适当的资源管理策略,优化资源使用,减少不必要的能耗和资源浪费。
改善用户体验:过高的耗电量可能导致移动应用程序的性能问题,例如卡顿、响应延迟等。通过能耗分析,您可以发现与耗电相关的性能问题,并采取相应措施来改善应用程序的性能,提供更流畅的用户体验。
提升应用质量:通过进行能耗分析,您可以发现潜在的问题和瓶颈,改进应用程序的设计和代码实现。这有助于提升应用质量,减少崩溃、卡顿和其他问题的出现,提高应用程序的可靠性和稳定性。
数据上传频率:每5分钟上传一次数据。
注:能耗分析仅支持Android。
指标分析
过滤条件
您可以对应用版本、设备、操作系统、渠道等维度进行数据过滤。
趋势分析
展示了过滤条件下耗电指标「前台电流量、电池温度」的趋势图;趋势图默认展示平均值,您可以在右侧筛选过滤出「25、50、75、90、99」中任一分位值的趋势图;支持导出趋势图中的数据。
指标说明:
指标 | 说明 |
---|---|
前台电流值 | 功率值是与设备耗电的核心指标,而功率值由电压与电流所决定。一般情况下设备的电压值处于稳定状态,所以电流值的趋势能反应出设备的耗电状况。当App处于前台时,耗电主要来源于该App。当样本量足够大,又能抹掉badcase,App处于前台时,可以用电流衡量App的耗电情况。 |
电池温度 | 设备的电池温度;电池温度越高则说明设备耗电越高。 |
数据列表
数据列表展示了各页面前台电流量和电池温度各分段的值;您可以对页面名称进行过滤搜索,支持导出列表数据。
详情页面
展示具体页面前台电流量和电池温度的所有明细数据。
- 维度分析:您可以对应用版本、设备、操作系统、渠道等维度进行过滤分析。
- 趋势分析:展示具体页面耗电指标趋势图。
- 详情列表:展示具体页面耗电明细数据。
归因分析
过滤条件
您可以对应用版本、设备、操作系统、渠道等维度进行数据过滤。
趋势分析
展示了过滤条件下耗电归因指标「流量、获取Location时长、AlarmManager设置次数、WakeLock唤醒时长」的趋势图;趋势图默认展示平均值,您可以在右侧筛选过滤出「25、50、75、90、99」中任一分位值的趋势;趋势右侧可以对不同维度进行数据过滤来查看耗电归因指标的分布状况。
指标说明:
指标 | 说明 |
---|---|
流量 | 流量使用情况,包含移动流量和Wi-Fi流量。 |
获取Location时长 | 定位使用时长。 |
AlarmManager设置次数 | WakeUp类型的Alarm唤起次数。 |
WakeLock唤醒时长 | WakeLock被持有的时间长度,PowerManager的releaseWakeLock()-acquireWakeLock()的时间间隔。 |
详情列表
展示耗电归因指标的明细数据;列表数据支持导出。您可以点击左侧的+
来展开查看每条耗电归因数据的上下文信息「发生时间、UserID、设备ID、应用版本、设备型号、操作系统、地域、运营商、接入方式、CPU型号、CPU指令集、进程名」
异常分析
过滤条件
您可以对应用版本、设备、操作系统、渠道等维度进行数据过滤。
趋势分析
耗电异常:获取Location时长、AlarmManager设置次数、WakeLock唤醒时长这三个指标值超过阈值。
趋势分析中展示了耗电异常指标「异常次数、异常率、影响设备数、影响设备占比」的趋势图。
指标说明:
指标 | 说明 |
---|---|
异常次数 | 过滤条件下发生耗电异常的次数。 |
异常率 | 过滤条件下发生耗电异常次数/过滤条件下总启动次数。 |
影响设备数 | 过滤条件下发生耗电异常的设备数「去重」。 |
影响设备占比 | 过滤条件下发生耗电异常的设备数「去重」/过滤条件下活跃设备数「去重」。 |
异常列表
展示发生耗电异常的明细数据,列表支持导出;异常问题归类按采集的异常线程堆栈首行App调用栈进行聚合归类。
您可以过滤以下维度来筛选数据:
过滤维度:异常堆栈、异常ID、userID、处理人、标签、异常类型、异常状态
您可以点击异常问题进入到异常详情。
异常详情
展示了每个耗电异常问题的详情信息,主要为:
- 异常类型、信息
- 异常列表:发生异常的明细数据。
- 设备统计:发生异常的设备分布,您可以在右侧进行过滤,过滤的维度有:设备、操作系统、设备ID、CPU指令集、应用版本。
- 异常趋势:发生异常次数和影响设备数的趋势。
- 上下文信息:UserID、异常发生时间、会话时长、设备ID、应用版本、设备型号、操作系统、地域、运营商、接入方式、CPU型号、CPU指令集、设备内存、剩余内存、应用占用内存、剩余存储空间、UI朝向。
- 堆栈信息:发生异常的线程调用栈信息。
- 异常溯源:发生异常是触发的轨迹。
- 自定义信息:调用
NBSAppAgent.setUserCrashMessage(String key,String value);
设置的信息
耗电异常阈值设置
点击「应用列表」-「设置」-「能耗设置」进入到能耗设置页面,您可以根据实际需要更改耗电异常的阈值。
默认阈值:
指标名称 | 配置详情 | 辅助说明 |
---|---|---|
定位单次使用最长时长 | 120 | 定位单次使用多久当作异常上报,单位为秒。 |
定位10分钟内获取次数 | 4 | 定位10分钟内使用几次当作异常上报。 |
定位10分钟内查询时长 | 240 | 定位10分钟内使用多久当作异常上报,单位为秒。 |
wake lock单次持有时长 | 5 | wake lock 单次持有多久当作异常上报,单位为秒。 |
wake lock10分钟内获取次数 | 240 | wake lock 10分钟内获取几次当作异常上报。 |
wake lock10分钟内持有时长 | 120 | wake lock 10分钟内持有多久当作异常上报,单位为秒。 |
Alarm(wake_up类型)10分钟内唤醒次数 | 5 | Alarm(wake_up类型)10分钟内唤醒几次当作异常上报。 |
Alarm10分钟内唤醒次数 | 10 | Alarm10分钟内唤醒几次当作异常上报。 |
能耗分析指标采集支持矩阵
指标 | 支持系统版本 |
---|---|
前台电流量 | Android 5+ |
电池温度 | Android 5+ |
AlarmManager | Android 5+ |
WakeLock | Android 5+ |
流量 | Android 6+ |
LocationManager | Android 5 ~ 12 |