最近一段时间,和开发大大们在思考 App 如何优化流量&电量的消耗,查看了一些资料,也总结了一些可能的优化点。不过,还缺少了优化的目标和方向,比如优化到什么程度是理想的状态,这方面会持续思考哒。
接下来把,近一段时间的总结和思考发给大家,一起进步咯:
总结点:
1.App 下载消耗流量,包的大小,下载网络环境等
2.App 和服务器数据传输:数据量数据格式 ProtoBuffer、JSON与XML对比等
3.App 向服务器请求协议次数,接口合并的可能性
4.接口数据结构难易程度
5.服务器传给 App 的图片格式,以及是否压缩
6.缓存机制
7.升级和数据获取方式:增量升级
8.服务器向 App 传递数据的格式:在进行大数据量下载时,尽量使用 GZIP 方式下载
9.若网络情况下传递图片质量较低的话也能减少流量消耗
10.APP从服务器下载文件或上传文件给服务器断点续传能力
11.如果APP和服务器实时性数据传输要求不高的话,慎用长连接;长连接需要双方不断的发送链路检测包,维持连接状态,这也会消耗网络流量。这个不太理解?
12.下载/同步媒体库内容传输考虑
13.电量低到一定程度的时候是不是可以区别对待?如何区别?是否有可能检测到电量情况?(假设)
14.不同网络状态下是不是可以区别对待?如何区别?(假设)
Wi-Fi 比蜂窝数据,包括2G(GPRS)、3G更省电:
a)尽量在 Wi-Fi 下传输数据,在有 Wi-Fi 的时候做预加载,比如应用中心的 zip 包、手Q web 类应用的离线资源等;
b)非 Wi-Fi 下,尽量减少网络访问,每一次后台交互都要考虑是否必须。虽然 Wi-Fi 接入方式已经占到移动互联网用户的50%,但是是有些手机设置为待机关闭 Wi-Fi 连接,即便有 Wi-Fi 信号也只能切换到蜂窝数据
15.SD 卡读写操作
16.程序的执行的 timer 定时器(例如 IM 中的心跳包,用系统的 Alarm 优化)
参考:
http://blog.csdn.net/lhd201006/article/details/50546847
http://blog.csdn.net/tskyfree/article/details/46877671
网友评论