手游项目服务器优化手记

最先暴露的问题是用户管理。开始发现离线用户数据被网络请求加载起来之后没有释放。因为正常登录用户在下线时会有离线接口的调用,这时会释放用户实例。而通过网络请求加载的离线用户数据不会再次调用离线接口,导致数据无法释放。处理方法是在所有会加载离线用户数据的网络接口里都对用户数据进行判断,如果调用返回时该用户数据是离线数据(没有对应的网络连接), (620) 397-5310

434-836-3406

  • SDK版本

Android应用在打包的时候涉及到三个SDK版本:min,target和compile。之前已经写过相关的手记,这里不再详述。需要注意的是,不同家渠道的SDK对这三个SDK版本是有不同需求的。因为他们自己开发SDK时用的API就各不相同,所以接入SDK之后,最好将打包配置中的SDK版本设置为SDK附带Demo中用的版本,跟着Demo走能够最大化避免接入问题(当然,前提 715-421-3277

(888) 566-4148

为了方便叙述,这三个版本参数简称为“C版本”“M版本”和“T版本”。

C版本就是app编译时使用的API版本。它决定了你的app在编写代码时可以使用哪些功能,如果你使用的功能超出了C版本API的支持范围,app编译会不通过。

M版本是你的app最低支持的版本,低于这个版本的系统是无法正常运行你的app的。可以用来限定你的app所面向的设备范围,把一批过于 继续阅读“Android打包的三个SDK版本参数:Compile SDK Version,Min SDK Version,Target SDK Version”

对Netty架构的理解(一)

几个基本的接口:
IEventExecutor / IEventExecutorGroup,IEventLoop / IEventLoopGroup,IChannel,IChannelPipeline,IChannelHandler,IChannelHandlerContext

在这些接口中,首先比较独立的是IEventExecutor和IEventExecutorGroup。这两个接口代表的是线程模型,可以理解为IEventExecutor是一条工作线程,而IEventExecutorGroup是线程池,它包含多个IEventExecutor实例,并对外开放获取到可用的IEventExecutor实例的途径。与全局线程池 5024513171