关于android移动终端IM的一些问题

移动终端不同于普通PC,主要有两点区别,1.电量、2.网络。

首先说说电量问题,android作为移动操作系统,在电量方面有很多优化,对于移动终端电池续航不给力,省电是很重要的一件事。由于省电方面的优化,会给IM带来哪些问题。经过我的测试发现,不通终端不通系统版本,尤其是很多厂家对android系统做出了很多修改,导致各种情况的出现。有一个现象比较普遍,就是锁屏的时候,如果程序有子线程在运行会暂停,等屏幕解锁之后恢复运行,导致很多利用子线程发一些数据在锁屏之后就停止发送了,解决方法就是,用系统的AlarmManager定时发广播,在广播接收者里面发送数据,AlarmManager锁屏之后是不会停止工作的。

在说说网络,移动终端的网络有时是非常不稳定的,经常出现没信号,断断续续的情况,还经常有wifi和移动网络切换的发生。会导致IM连接正常,实际上已经断掉了,客户端没有监听到事件,导致无法交互。解决办法就是重连,发生网络切换不管三七二十一直接重连,这能有效解决wifi和移动网络切换后但是客户端监听不到连接异常但是连接已经断开的问题。接着就是网络不稳定导致连接处问题,利用定时心跳包,服务器要给客户端反馈,客户端定时判断一段时间没有收到反馈就重连。

原文地址:https://www.cnblogs.com/baoyz/p/3200526.html