关于消息缓存机制

lcc 7天前 49

当打开一个会话的时候,我首先通过方法 ChatManager.Instance().getMessages() 加载本地缓存的消息,如果需要更多的消息,那么需要通过 ChatManager.Instance().getRemoteMessages() 来加载远端消息。 我有个需求,我希望把getRemoteMessages拉取到的消息缓存到本地,那么下次加载的时候就可以从本地加载了,但是实际上下次打开会话的时候,依然是本地消息依然在本地,远端消息依然在远端。 从目前的测试来看,无法掌握SDK对消息的缓存策略,没有找到规律。

能帮我解释下SDK是如何缓存消息的吗?

最新回复 (3)
  • HeavyRain 7天前
    引用 2
    ChatManager.Instance().getMessages()是分批加载消息的,可以在上一次基础上读取下一批消息,直到本地没有消息可以读出,然后再调用加载远程消息的接口,从远处加载回来(会存储到本地,下次调用本地的就能读取出来了)。这个流程再demo上实现了的,可以看一下demo的实现
  • lcc 9小时前
    引用 3
    ---- 从远处加载回来(会存储到本地,下次调用本地的就能读取出来了) ----
    请教一下,从远程加载回来后存储到本地,这个存储行为是应用开发者来管理的吗? 还是说在闭源的SDK中管理的?
  • HeavyRain 8小时前
    引用 4
    SDK中管理的,不用上层处理
返回