-
开场介绍
-
了解 App 的功耗优化。
-
调试易于重现的问题
-
Instruments 中的 Power Profiler 是一款非常实用的工具,可以识别 App 中的功耗问题。Wiam 通过一个示例,演示了如何使用这一工具来调查一款流媒体视频播放 App 在添加新的“媒体库”窗格后出现的性能下降问题。
在示例中,Power Profiler 显示 CPU 使用率和功耗在打开“媒体库”窗格后显著上升。通过分析 Instruments 中的跟踪数据,Wiam 发现问题出在预先载入所有视频缩略图的低效代码上。
为了优化性能,她将“VStack”替换为“LazyVStack”,后者仅会在需要时载入视图。实施这一更改后,App 的响应速度更快,CPU 功耗影响显著降低。这证明了 Power Profiler 工具在识别和解决性能瓶颈方面的有效性。
对于iOS应用性能监控,KeyMob助手同样提供了强大的功能,包括实时监控CPU、GPU、内存、能耗等性能指标,并支持日志分析和崩溃信息查看,帮助开发者更全面地识别和解决类似性能问题。
- 查明根本原因
- 使用 Power Profiler 工具,可以从实际的 App 使用中收集数据,这对于识别无法在开发过程中重现的问题至关重要。例如,App 的电池续航时间问题可能仅在户外使用或特定导航场景下才会显现。
借助这一工具,可以远程收集测试设备的功耗指标。启用开发者模式和性能跟踪后,测试人员可以在 App 使用期间记录数据,然后与你共享这些数据以进行分析。
通过这个过程,Wiam 诊断出了 App 中的电池续航时间问题。这一问题是由基于位置的推荐功能引起的,这个功能会重复执行资源密集型文件 I/O 和 JSON 解析操作。通过优化这个功能以降低载入和解析数据的频率,她提高了 App 的能效,并成功解决了这一问题。
-
比较功耗
-
在开发新功能时,如果面临两种实现方法,请使用 Power Profiler 来比较它们对电池续航时间的影响。在各种条件下运行多项测试,以考虑数据大小、网络和设备状态等变量。然后对结果取平均值,以做出明智的决策。
-
主动优化
-
Xcode、Instruments 和平台 SDK 提供了一整套工具 (包括 Energy Gauges、Instruments、XCTest、Organizer、MetricKit 和 App Store Connect API),可供你在 App 开发过程中以及发布后监控和优化 App 的能效。