美文网首页Objective - C 底层
Objective - C 性能优化(二)耗电优化

Objective - C 性能优化(二)耗电优化

作者: 爱玩游戏的iOS菜鸟 | 来源:发表于2020-04-08 16:05 被阅读0次

一、耗电的主要来源

  • CPU处理 Processing
  • 网络 Networking
  • 定位 Location
  • 图像 Graphics


    image.png

二、耗电优化解决方案

CPU层面的优化
  1. 尽可能降低CPU、GPU功耗(前一节已经讲述)
  2. 少用定时器
  3. 优化I/O操作
  • 尽量不要频繁写入小数据,最好批量一次性写入
  • 读写大量重要数据时,考虑用dispatch_io,其提供了基于GCD的异步操作文件I/O的API。用dispatch_io系统会优化磁盘访问
  • 数据量比较大的,建议使用数据库(SQLite、CoreData)
Networking层面的优化
  • 减少、压缩网络数据 (json 、procotol buffer)
  • 如果多次请求的结果是相同的,尽量使用缓存
  • 使用断点续传,否则网络不稳定时可能多次传输相同的内容
  • 网络不可用时,不要尝试执行网络请求
  • 让用户可以取消长时间运行或者速度很慢的网络操作,设置合适的超时时间
  • 批量传输,比如,下载视频流时,不要传输很小的数据包,直接下载整个文件或者一大块一大块地下载
Location层面优化
  • 如果只是需要快速确定用户位置,最好用CLLocationManagerrequestLocation方法。定位完成后,会自动让定位硬件断电
  • 如果不是导航应用,尽量不要实时更新位置,定位完毕就关掉定位服务
  • 尽量降低定位精度,比如尽量不要使用精度最高的kCLLocationAccuracyBest
  • 需要后台定位时,尽量设置pausesLocationUpdatesAutomaticallyYES,如果用户不太可能移动的时候系统会自动暂停位置更新
  • 尽量不要使用startMonitoringSignificantLocationChanges,优先考虑startMonitoringForRegion:
硬件检测优化(不常用)
  • 用户移动、摇晃、倾斜设备时,会产生动作(motion)事件,这些事件由加速度计、陀螺仪、磁力计等硬件检测。在不需要检测的场合,应该及时关闭这些硬件

PS : 需要进一步了解:dispatch_io、网络数据传输格式、网络缓存NSCache、CoreLocation框架的进一步了解

相关文章

  • Objective - C 性能优化(二)耗电优化

    一、耗电的主要来源 CPU处理 Processing 网络 Networking 定位 Location 图...

  • iOS性能优化 - 整理

    本文主要包含: 性能优化 - 卡顿性能优化 - 耗电优化性能优化 - APP启动优化安装包瘦身 一  性能优化 -...

  • 对于手游的优化

    给手游做优化,无非就CPU性能优化、内存性能优化、资源优化、GPU优化、IO优化、网络优化、耗电优化这些,为此汇总...

  • iOS 性能优化

    iOS App 启动性能优化iOS离屏渲染优化(附DEMO) iOS Objective-C 数组遍历的性能及原理...

  • APP耗电性能优化

    APP耗电性能优化 一、主要耗电量原因 1、CPU 处理2、网络3、定位4、图像处理,GPU 二、优化 1、尽可能...

  • iOS 优化方案

    一、性能优化基本方案 1、卡顿原因以及避免方案2、耗电优化3、启动优化4、安装包瘦身 二、卡顿优化原因以及避免方案...

  • 性能优化 - 耗电优化

    尽可能减少CPU GPU的功耗 少用定时器 优化文件I/O操作尽量不要频繁写入小数据,最好批量一次性写入读写大量数...

  • 性能优化-耗电优化

    耗电优化 耗电检测工具 Battery Historian是一款Google提供的Android系统电量分析工具,...

  • Android性能优化

    Android性能优化 Android 性能优化的方法 性能问题一般分为3类 UI卡顿 内存问题 耗电问题 布局优...

  • APP性能优化-UI

    APP性能优化-Memory APP性能优化-稳定性(crash率) APP性能优化-包体压缩 APP性能优化-C...

网友评论

    本文标题:Objective - C 性能优化(二)耗电优化

    本文链接:https://www.haomeiwen.com/subject/nfvtmhtx.html