夏天来了,iOS开发者们该如何减少App耗电?(下)

4,768 阅读2分钟

我正在参加「初夏创意投稿大赛」详情请看:初夏创意投稿大赛

【# 夏天来了,iOS开发者们该如何减少App耗电?(上)】中,我们已经对如何减少耗电有了全面的了解。

接下来我们继续了解如何使用调试工具来直观感受优化后的效果。(没有优化指标你说优化了也没人信呀😂)

运行项目后,选中这个小图标(Xcode版本不同,图标也不一样),可以查看你的 app 在设备的 CPU内存电量使用硬盘网络的使用情况。点击 Energy Impact 查看电量情况。

图表.png

截屏2022-05-27 下午4.27.20.png 左上角的半圆环分为三部分,代表的是 app 的总体上的平均消耗电量评级,low(绿色区域)、high (黄色区域)、very high(红色区域)。我们可以通过这个大致了解app电量的使用情况。
比较 理想 的状态就是 app 处于 low或者high 状态。但是通常情况下,app 会处于 high、甚至very high 状态。所以我们需要更深入地知道究竟哪一部分的功能导致耗电量占比大。

截屏2022-05-27 下午4.31.41.png

右上角的饼状图代表了耗电的几个部分,包括CPUNetworkLocationGPUOverhead。从这里可以比较直观的感受哪些方面耗电占比较大。

截屏2022-05-27 下午4.37.33.png 中间的柱状图可以清晰的看到每一时刻影响电量因素的变化,这也许能帮助你快速的定位问题。

当你需要更加细致的排查问题时,你可以从以下 CPU网络定位这几个方面去排查分析,点击Time ProfilerNetwork ProfilerLocation Profiler这三个按钮的其中之一,Xcode 会帮你断开调试连接,并启动 Instruments 来分析 app 性能。 比如点击 Time Profiler,可以帮助查看你的方法耗时情况,从中找出最耗时的方法,然后优化。

截屏2022-05-27 下午4.15.29.png

截屏2022-05-27 下午4.15.52.png

截屏2022-05-27 下午4.16.13.png

新版Xcode都会打开Instruments,我们可以在Instruments中右上角的 + 按钮选择所需要的监测项。

截屏2022-05-27 下午4.47.53.png

截屏2022-05-27 下午4.58.59.png

电量 Debug场景 通常情况:

  • App 启动时、App 空闲时、App 在后台中

应用特殊场景:

  • 导航类App:搜索定位、获取方向、导航;
  • 直播类App:直播参数调校(视频流质量、帧数、码率)
  • 社交类APP:I / O