微信聊天页中的消息记录是缓存的吗?

我使用腾讯即时聊天IM开发一个用户间聊天的功能,当用户每次进入和另外一个用户聊天页时,我都会重新获取历史聊天记录并且渲染到页面,这会导致用户每次进入聊天页都有一个页面从空白到请求历史聊天记录然后再渲染到页面的过程,很影响用户体验,我希望做成微信的聊天页的效果,每次进入时候历史记录不像是重新获取的。

我有个思路:
无论用户是否在聊天页,都将收到的新消息存入缓存中,然后每次进入聊天页直接从缓存里拿聊天记录并且渲染到页面。

我不知道这样是否可行,一个问题是,从缓存拿历史聊天记录渲染到页面仍然会有一个渲染的过程,二是,如果缓存被清理掉了,我不知道该怎么办。三是,如果用户没有保持在线状态或者其他什么原因,会导致缓存中的聊天记录会与真正的聊天记录不同步。

我不是专门搞移动端开发的,第一次做这种即时聊天功能,请大佬们给我一个优化的方案。

阅读 2.8k
1 个回答

构建会话列表的时候就会显示最后一条记录,那么其实在构建的时候把这个改成最后n条记录(够一屏)即可。

然后每次点开的时候都重新拉一把数据做合并即可。

活跃聊天,聊天记录累加。非活跃取前几。就能达到一个比较好的效果了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题