App的性能优化,可以从多角度优化,包括App启动优化,App启动优化又分为main()函数执行前优化,main()函数执行后优化;包括界面卡顿优化,页面卡顿优化又包括CPU优化和GPU优化;包括安装包瘦身优化、包括耗电优化等。今天我们主要来讲讲如何处理App耗电优化
图片来自网络
App中主要耗电来源有:CPU处理、网络、定位、图像处理等。我们可以从降低CPU、GPU功能消耗、减少定时器的使用、优化I/O操作等来优化。
1、尽量不要频繁地写入小数据,最好批量一次写入
2、读写大量数据时,考虑用dispatch_io,它提供了基于GCD的异步操作文件I/O的API,系统会优化磁盘访问
3、持久化数据量比较大时,建议使用数据库存储
网络优化
1、减少、压缩网络数据
2、如果多次请求的结果是相同的,尽量使用缓存
3、使用断点续传,否则网络不稳定时可能多次传输相同的内容
4、网络不可用时,不要尝试执行网络请求
5、批量传输
定位优化
1、如果只是快速确认用户位置,最好用CLLocationManager的requestLocation,定位完后,会自动让定位硬件断电
2、如果不是导航应用,尽量不要实时更新位置,定位完毕就关掉定位服务
3、尽量降低定位精度
4、App需要后台定位时,尽量设置
pausesLocationUpdatesAutomaticall为YES,如果用户不太可能移动的时候系统会自动暂停位置更新