iOS开发之如何优化App的电量

终于有时间整理一下,以前没来的及记录的知识点了,话不多说,开始表演......
程序的耗电主要是四个方面:CPU处理,定位,网络,图像;
对于这四个方面的优化,我们可以这么做:
CPU处理:
1、尽可能降低CPU、GPU的功耗,比如:少用定时器;
2、优化I/O操作(什么,你不懂什么是I/O操作?简单的来说就是对数据的处理,读写操作),比如:不要频繁的写入小数据,而是积累到一定的数量再写入;读写大量的数据可以使用Dispatch_io,GCD内部已经做了优化;数据量比较大的时候,使用数据库;
定位:
1、如果只是需要快速确定用户位置,最好用CLLocationManager的requestLocation方法,定位完成后,会自动让定位硬件断电;
2、如果不是导航应用,尽量不要实时更新位置,定位完毕关闭定位服务;
3、降低定位精度,设置pausesLocationUpdatesAutomatically为YES,这样用户不太可能移动的时候系统高会自动暂停位置更新;
4、尽量不要使用startMonitoringSignificantLocationChanges,优先考虑startMonitoringForRegion;
网络:
1、网络数据相同,使用NSCache进行缓存;
2、使用断点续传,避免因网络失败后重新下载;
3、网络不可用时,不尝试进行网络请求;
4、设置超时时间或提供可取消网络请求的操作;
5、采取批量传输,下载视频流时,尽量一大块一大块的进行下载,广告可以一次下载多个
图像:
1、保证UI真的需要变化时,进行屏幕更新;
2、避免blurs(模糊处理);
节省电量的四个基本原则:
1、Identify:想清楚你需要app在特定时刻需要完成哪些工作,如果是不必要的工作,考虑延后执行或者省去;
【iOS开发之如何优化App的电量】2、Optimize:优化app的功能实现,尽可能以更有效的方式去完成功能;
3、Coalesce:合并内容,避免重复;
4、Reduce:减少做重复工作的频率;

相关文章:
https://www.jianshu.com/p/f0dc653d04ca


    推荐阅读