注册

清除本地记录后,getAllMsgCount仍然返回先前的个数

本帖最后由 jerryztest 于 2015-5-7 09:32 编辑

Android端:
当我调用EMChatManager.getInstance().clearConversation(groupId)后,调用EMConversation的getAllMsgCount仍然返回先前的个数,但是调用loadMoreGroupMsgFromDB是没有数据的,即本地数据库中的记录是清除了的。

文档上说:getAllMsgCount是获取本地存储会话的全部消息数目,为什么我清空本地记录后,仍然返回先前的个数?
已邀请:
你去本地数据库看一下就知道有没有了
> forum.php?mod=redirect&goto=findpost&pid=2466&ptid=1066
你去本地数据库看一下就知道有没有了


调用clearConversation后,我去数据库查了的chat表中是被清空了,但是为什么conversation.getAllMsgCount仍然返回大于0的值
从内存拿的吧,内存有没有清空
> forum.php?mod=redirect&goto=findpost&pid=2485&ptid=1066
从内存拿的吧,内存有没有清空


clearConversation不会清除内存中的吗?要怎样才能把数据库与内存中的都清掉?
还有调用getAllMessages不是获取内存中的吗?这个是没有数据的啊
> forum.php?mod=redirect&goto=findpost&pid=2485&ptid=1066
从内存拿的吧,内存有没有清空


conversation.getAllMessage从内存中获取没有数据,loadMoreFromDb从数据库中获取也没有数据,为什么getAllMsgCount仍然大于0
> forum.php?mod=redirect&goto=findpost&pid=2491&ptid=1066
conversation.getAllMessage从内存中获取没有数据,loadMoreFromDb从数据库中获取也没有数据,为什么getA ...


这个你看看在这之前有没有做什么操作干扰了
> forum.php?mod=redirect&goto=findpost&pid=2491&ptid=1066
conversation.getAllMessage从内存中获取没有数据,loadMoreFromDb从数据库中获取也没有数据,为什么getA ...


这个你看看在这之前有没有做什么操作干扰了
> forum.php?mod=redirect&goto=findpost&pid=2494&ptid=1066
这个你看看在这之前有没有做什么操作干扰了


我就调用了clearConversation后,调用了getAllMessage,再调用getAllMsgCount
> forum.php?mod=redirect&goto=findpost&pid=2494&ptid=1066
这个你看看在这之前有没有做什么操作干扰了


有没有直接获取本地数据库中指定会话一共有多少条记录的接口啊,我理解的是getAllMsgCount是取的本地数据库中的个数,既然数据库里已经清空,为什么仍然返回大于0的值
> forum.php?mod=redirect&goto=findpost&pid=2497&ptid=1066
有没有直接获取本地数据库中指定会话一共有多少条记录的接口啊,我理解的是getAllMsgCount是取的本地数据 ...


你看下这个conversation是不是没有消息了
> forum.php?mod=redirect&goto=findpost&pid=2497&ptid=1066
有没有直接获取本地数据库中指定会话一共有多少条记录的接口啊,我理解的是getAllMsgCount是取的本地数据 ...


你看下这个conversation是不是没有消息了
> forum.php?mod=redirect&goto=findpost&pid=2500&ptid=1066
你看下这个conversation是不是没有消息了


我都是对同一个conversation操作的啊,内存和数据库里都没数据了,getAllMsgCount仍然返回大于0的值啊
> forum.php?mod=redirect&goto=findpost&pid=2500&ptid=1066
你看下这个conversation是不是没有消息了


确定没消息了啊
> forum.php?mod=redirect&goto=findpost&pid=2503&ptid=1066
确定没消息了啊


我刚写代码测试了下,确实是这样,有缓存吧,过一会就好了
> forum.php?mod=redirect&goto=findpost&pid=2504&ptid=1066
我刚写代码测试了下,确实是这样,有缓存吧,过一会就好了


这个主要是因为我们的标题栏上要显示当前会话的消息条数,而这个条数我是通过getAllMsgCount获取的,如果有缓存的话,这个地方的条数应该怎么处理呢?
> forum.php?mod=redirect&goto=findpost&pid=2506&ptid=1066
这个主要是因为我们的标题栏上要显示当前会话的消息条数,而这个条数我是通过getAllMsgCount获取的,如果 ...


用这个方法conversation.getMsgCount()

要回复问题请先登录注册