性能之能耗

设备中的每个硬件都会消耗能耗,而最大的消费者就是CPU。应用计算越多,消耗的电量越多。在完成相同的操作,老一代的设备会消耗更多的电量。

CPU

计算量的消耗取决于不同的因素

* 对数据的处理(例如:对文本进行格式化)
* 待处理的数据大小—更大的显示屏允许软件在单个视图中展示更多的信息,但这也意味着要处理更多的数据
* 处理数据的算法和数据结构
* 执行更新次数,尤其是在数据更新后,触发应用的状态或UI进行更新

推荐的做法

* 针对不同的情况选择优化算法
* 如果应用从服务器接收数据,尽量减少需要在客户端进行的处理
* 优化静态编译处理,例如UITableview渲染一组记录时,不建议一次性全部显示或者快速滚动时立即载入记录,而是推迟到滚动速度降到一定的阈值再显示合理的条数

网络

智能的网络访问管理可以让应用响应得更快,也助于延长电池寿命。
因此我们需要:
* 在进行任何网络操作之前,先检查合适的网络是否可用
* 持续监视网络的可用性,并在连接状态发生变化时给予适当的反馈

定位

 * 关闭无关紧要的特性
 * 后台定位时,每当收到更新后,都会唤醒线程和计时器
 * 在其他应用程序需要更多资源时,后台的应用可能会被关闭。
   在这种情况下,需要重新初始化监听,可以通过application:didFinishLaunchingWithOptions:方法会收到键值为UIApplicationLaunchOptionsLocationKey的条目

屏幕

屏幕越大也会费电。
* 合理使用动画
* 视频播放

最佳实践

* 最小化硬件使用。换句话,尽可能晚地与硬件打交道,并且一旦完成任务立即结束使用
* 在进行密集型任务前,检查电池电量和充电状态
* 在电量低时,提示用户是否确定要执行任务,并在用户同意后再执行
* 或提供设置的选项,允许用户定义电量的阈值,以便在执行密集型操作前提示用户
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容