一、耗电的操作
1.cpu处理,processing
2.网络,netWorking
3.定位,location
4.图片graphics
二、耗电的优化
1.尽可能降低CPU GPU的功耗
2.少用定时器
3.优化I/0操作
1.尽量不要频繁写入小数据,最好批量一次性写入
2.读写大量重要数据时候,考虑使用dispatch_io,其提供了居于GCD的异步操作文件I/0的API。使用dispatch_io系统可会优化磁盘访问。
3.数据量较大的,建议使用数据库
4.网络优化
1.减少,压缩网络数据,以前使用xml数据太大,后来使用json体积就小了,还有使用protocol buffer
2. 如果多次请求是相同的,尽量使用缓存
3.使用断点续传,否则网络不稳定的时候可能出现多次传输相同的数据 (下载通一个文件,一半失败,下次又重新开始,那么之前下载的就浪费了)
4.网络不可用时,不要尝试执行网络请求
5.设置超时时间
6.让用户可以取消网络操作 (当push下一个页面数据还没加载出来的时候,用户点击了返回,那么数据加载出来也没用了,所以要取消当前请求)
5.定位的优化
1.如果只是简单的定位,使用CLLocationManager的requestLocation方法,定位完成后,会自动让定位硬件断电
2.不是导航软件,不要实时定位
3.尽量降低定位精度
4.需要后台定位时,尽量设置pausesLocationUplatesAutoTicallyes为YES,如果用户不太可能移动的时候,系统会自动暂停定位的更新
5.尽量不要使用starMonitoringSignIficantLocationChangers