开源轻量级 IM 框架 MobileIMSDK v4.0 发布!

  

一、更新内容简介

本次更新为主版本更新,更新内容主要是根据最新的Android系统和iOS系统对客户端进行了相关升级,以便更好的适应最新技术。以及其它一些优化和升级,详情请见“版本更新说明”部分。

二、MobileIMSDK简介

MobileIMSDK是一套专为移动端开发的开源即时通讯高可重用框架:

  • 超轻量级、高度提炼,lib包50KB以内;

  • 完全基于UDP协议实现;

  • 客户端支持iOS、Android、标准Java平台;

  • 可应用于跨设备、跨网络的聊天APP、企业OA、消息推送等各种场景。

MobileIMSDK工程始于2013年10月(2019年04月30日发布了最新版v4.0),起初用作某产品的即时通讯底层实现,完全从零开发。MobileIMSDK现已公开并免费供开发者使用,希望对需要的人有所启发和帮助。

您可能需要:查看更多关于MobileIMSDK的疑问及解答

三、代码托管同步更新

OsChina.net

GitHub.com

四、MobileIMSDK设计目标

让开发者专注于应用逻辑的开发,底层复杂的即时通讯算法交由SDK开发人员,从而解偶即时通讯应用开发的复杂性。

五、MobileIMSDK框架组成

整套MobileIMSDK框架由以下4部分组成:

  1. Android客户端SDK:用于Android版即时通讯客户端,支持Android 2.3及以上,查看API文档

  2. iOS客户端SDK:用于开发iOS版即时通讯客户端,支持iOS 8.0及以上,查看API文档

  3. Java客户端SDK:用于开发跨平台的PC端即时通讯客户端,支持Java 1.6及以上,查看API文档

  4. 服务端SDK:用于开发即时通讯服和端,支持Java 1.7及以上版本,查看API文档

另:MobileIMSDK-Web版为独立工程,如有需要请联系作者。

六、MobileIMSDK v4.0更新内容

【解决的Bug】

  1. [Android/Java]解决了客户端网络不通且长时间处于前台运行时,因监听线程未正常中断退出而导致重连时OOM的问题;
  2. [Android/Java]解决了某些极端情况下,手机的物理网络正常(如:正常连接WiFi时),但到外网(如宽带)实际不通的情况下,外网恢复通信时,socket重连将无法成功的问题;

【其它优化和提升】

  1. [服务端]优化了GlobalSendHelper.sendDataS2C(..)方法,使得在未开启与Web互通的情况下,相当于直接调用LocalSendHelper.sendData(..)方法,提高兼容性;
  2. [服务端]重新设计了ServerEventListener接口中的回调方法,数据的传递改为Protocal对象,方便后绪实现集群、服务拆分、分布式拆分等;
  3. [服务端]优化了服务端某些代码,将变量申明由ConcurrentHashMap改为ConcurrentMap,省去有些开发者将JDK1.8编译后的版本用于JDK1.7版运行报错:“java.lang.NoSuchMethodError: java.util.concurrent.ConcurrentHashMap.keySet()”;
  4. [iOS]第3方基础库升级:CocoaAsyncSocket升至v7.6.3、Reachability升至v5.0;
  5. [iOS]解决引用的第3方库:Reachability、CocoaAsyncSocket 在开发者工程中使用时可能存在冲突的问题;
  6. [Android]升级了Android版Demo工程的targetSDK为28(即android 9.0);
  7. [Android]解决了Demo工程,在某些android平板上,从横屏时锁屏状态解锁时,主界面可能会被重新onCreate的问题(详见:https://www.cnblogs.com/zfyouxi/p/5332019.html)。

猜你喜欢

转载自www.oschina.net/news/106393/mobileimsdk-4-0-released