一、更新内容简介
本次更新为主版本更新,更新内容主要是根据最新的Android系统和iOS系统对客户端进行了相关升级,以便更好的适应最新技术。以及其它一些优化和升级,详情请见“版本更新说明”部分。
二、MobileIMSDK简介
MobileIMSDK是一套专为移动端开发的开源即时通讯高可重用框架:
- 超轻量级、高度提炼,lib包50KB以内;
- 完全基于UDP协议实现;
- 客户端支持iOS、Android、标准Java平台;
- 可应用于跨设备、跨网络的聊天APP、企业OA、消息推送等各种场景。
MobileIMSDK工程始于2013年10月(2019年04月30日发布了最新版v4.0),起初用作某产品的即时通讯底层实现,完全从零开发。MobileIMSDK现已公开并免费供开发者使用,希望对需要的人有所启发和帮助。
您可能需要:查看更多关于MobileIMSDK的疑问及解答。
三、代码托管同步更新
OsChina.net
- 代码托管: http://git.oschina.net/jackjiang/MobileIMSDK
- 项目资料: 点击查看更多资料
GitHub.com
- 代码托管: https://github.com/JackJiang2011/MobileIMSDK
- 项目资料: 点击查看更多资料
四、MobileIMSDK设计目标
让开发者专注于应用逻辑的开发,底层复杂的即时通讯算法交由SDK开发人员,从而解偶即时通讯应用开发的复杂性。
五、MobileIMSDK框架组成
整套MobileIMSDK框架由以下4部分组成:
- Android客户端SDK:用于Android版即时通讯客户端,支持Android 2.3及以上,查看API文档;
- iOS客户端SDK:用于开发iOS版即时通讯客户端,支持iOS 8.0及以上,查看API文档;
- Java客户端SDK:用于开发跨平台的PC端即时通讯客户端,支持Java 1.6及以上,查看API文档;
- 服务端SDK:用于开发即时通讯服和端,支持Java 1.7及以上版本,查看API文档。
另:MobileIMSDK-Web版为独立工程,如有需要请联系作者。
六、MobileIMSDK v4.0更新内容
【解决的Bug】
- [Android/Java]解决了客户端网络不通且长时间处于前台运行时,因监听线程未正常中断退出而导致重连时OOM的问题;
- [Android/Java]解决了某些极端情况下,手机的物理网络正常(如:正常连接WiFi时),但到外网(如宽带)实际不通的情况下,外网恢复通信时,socket重连将无法成功的问题;
【其它优化和提升】
- [服务端]优化了GlobalSendHelper.sendDataS2C(..)方法,使得在未开启与Web互通的情况下,相当于直接调用LocalSendHelper.sendData(..)方法,提高兼容性;
- [服务端]重新设计了ServerEventListener接口中的回调方法,数据的传递改为Protocal对象,方便后绪实现集群、服务拆分、分布式拆分等;
- [服务端]优化了服务端某些代码,将变量申明由ConcurrentHashMap改为ConcurrentMap,省去有些开发者将JDK1.8编译后的版本用于JDK1.7版运行报错:“java.lang.NoSuchMethodError: java.util.concurrent.ConcurrentHashMap.keySet()”;
- [iOS]第3方基础库升级:CocoaAsyncSocket升至v7.6.3、Reachability升至v5.0;
- [iOS]解决引用的第3方库:Reachability、CocoaAsyncSocket 在开发者工程中使用时可能存在冲突的问题;
- [Android]升级了Android版Demo工程的targetSDK为28(即android 9.0);
- [Android]解决了Demo工程,在某些android平板上,从横屏时锁屏状态解锁时,主界面可能会被重新onCreate的问题(详见:https://www.cnblogs.com/zfyouxi/p/5332019.html)。
转自 https://www.oschina.net/news/106393/mobileimsdk-4-0-released