首页 > 代码库 > IM应用中的优化
IM应用中的优化
曾经做过IM应用中考虑过的一些关于应用优化的问题。
优化重心主要放在了电量优化和流量优化上:
电量优化
怎样测试耗电量(前台耗电、后台耗电)
1、专用设备
2、性能相关的app
3、自己动手去写电量消耗
电量优化
1、不要影响手机休眠
心跳包使用 alarm manager出发心跳包
2、尽量减少网络请求
数据缓存、本地存储,同步增量、一次发送多个请求
3、少使用GPS定位,网络定位优先
4、针对不同网络类型做优化
移动网络下载速度大于上传速度;2G一次发送数据包不要太大;3G4G一次发送多个更省电
上传buffer大小:2G 1024字节,3G 10k
下载buffer大小:2G 1024字节, 3G 30K
其他的优化可以参考官网
流量优化
怎样测试流量
uid=Process.myUid();
initRecvBytes=TrafficStats.GetUidRxBytes(uid);
initSendBytes=TrafficStats.GetUidTxBytes(uid);
流量优化
1、心跳
减小心跳包
减小发送频率
智能心跳,动态心跳时间
2、封包协议
自定义封包协议,减小包大小。
3、异常重连机制
动态重连机制
4、压缩
文件压缩
用到过的压缩算法:gzip
消息优化
每一个重要消息都要给服务端回执
IM应用中的优化
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。