iOS 耗电优化

251 阅读1分钟

1、CPU处理,Processing

降低CPU GPU功耗

少用定时器

优化I/O操作 尽量不要频繁写入小数据, 最好批量一下性写入

读写大量重要数据时,考虑用dispatch_io 其提供了基于GCD的异步操作文件I/O的API

数据量比较大用SQLite

2、网络, Networking

  减少、压缩网络请求。NSMutableURLRequest NSCache 缓存

 断电续传

 网络不可用不尝试执行网络请求

 让用户可以取消长时间或者速度很慢的网络请求 

批量传输 (比如广告下载)

3、定位,Location

n定位优化

p如果只是需要快速确定用户位置,最好用CLLocationManager的requestLocation方法。定位完成后,会自动让定位硬件断电

p如果不是导航应用,尽量不要实时更新位置,定位完毕就关掉定位服务

p尽量降低定位精度,比如尽量不要使用精度最高的kCLLocationAccuracyBest

p需要后台定位时,尽量设置pausesLocationUpdatesAutomatically为YES,如果用户不太可能移动的时候系统会自动暂停位置更新

p尽量不要使用startMonitoringSignificantLocationChanges,优先考虑startMonitoringForRegion:

p

n硬件检测优化

p用户移动、摇晃、倾斜设备时,会产生动作(motion)事件,这些事件由加速度计、陀螺仪、磁力计等硬件检测。在不需要检测的场合,应该及时关闭这些硬件

4、图像