用户信息不显示,不刷新问题排查

用户信息不显示,不刷新问题排查
发布时间: 2019-03-11 18:04

回答:

  • 1 . 用户信息不显示(头像和昵称都不显示)
     用户信息不显示, 一般分为两种情况。

    • 1) 本地用户信息不显示

    • 2)好友信息不显示

      无论哪一种, 都可能是因为没有设置用户信息的缘故。

      请检查一下几方面: 1) 检查是否设置了 setUserInfoProvider。 2) 设置的用户信息是否正确。

  • 2. 图像设置后没有刷新, 还是显示原先的设置的图像

    1)缓存方式使用错误如果您使用的是 setUserInfoProvider 方式。则您需要注意是否使用了缓存。 即

         public static void setUserInfoProvider(UserInfoProvider userInfoProvider, boolean isCacheUserInfo)

    假如 isCacheUserInfo 设置为 true 时, 则您需要注意的是:

    只有缓存中没有消息的时候才会走 Provider 中的回调, 否则只会直接取缓存中的用户信息。

    所以,当您使用了用户缓存功能, 但又想更新用户信息的情况, 您需要调用 refreshUserInfoCache 方法来刷新缓存。

    当调用 refreshUserInfoCache 调用缓存时, 则会刷新缓存数据, 同时发送 EventBus 事件, 通知会话列表和会话界面刷新用户信息(昵称和头像)。

    2)头像虽然不同,但是路径相同  因为本地缓存是通过 url 作为 key 来取缓存的,假如 url 不改变, 则还是会从缓存中取的原先的图片。 此问题解决方法只能是让不同图片使用不同的路径。

  • 3. 同时使用了 setUserInfoProvider 和 setUserInfo 两个设置用户信息的方法

    由于 setUserInfo 设置用户信息的方法优先级高于setuserInfoProvider 。 所以当用户通过setUserInfo 可能造成 setUserInfoProvider 设置无效。 建议两种不要混用。

    消息可看 https://support.rongcloud.cn/ks/NDA0