面试总结 - 耗电优化

耗电优化

1.CPU处理;
2.网络请求;
3.定位;
4.图像渲染

1.1尽可能降低 CPU、GPU 功耗;

1.2少用定时器;
1.3 优化I/O操作:
尽量不要频繁写入小数据,最好一次性批量写入;
读写大量重要数据时,可以用 dispatch_io,它提供了基于 GCD 的异步操作文件的 API,使用该 API 会优化磁盘访问;
数据量大时,用数据库管理数据;

2.网络优化:

2.1减少、压缩网络数据(JSON 比 XML 文件性能更高);
2.2若多次网络请求结果相同,尽量使用缓存;
2.3使用断点续传,否则网络不稳定时可能多次传输相同的内容;
2.4网络不可用时,不进行网络请求;
2.5让用户可以取消长时间运行或者速度很慢的网络操作,设置合适的超时时间;
2.6批量传输,如下载视频,不要传输很小的数据包,直接下载整个文件或者大块下载,然后慢慢展示;

3.定位优化:

3.1如果只是需要快速确定用户位置,用 CLLocationManager 的 requestLocation 方法定位,该方法只会获取一次当前位置;
3.2若不是导航应用,尽量不要实时更新位置,用完之后就关闭掉定位服务;
3.3尽量降低定位精度KCLLocationAccuracyBest
3.4需要后台定位时,尽量设置 pausesLocationUpdatesAutomatically 为 YES,若用户不怎么移动的时候,系统会自暂停位置更新

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章