如何清理会话消息及清除 Android IM SDK 缓存图片?

融云 SDK 中新增了 deleteMessages 方法,用于删除某个会话中的所有消息,同时会整理压缩数据库,减少占用空间,此方法不可频繁循环调用。

方法如下:

/**
 * <p>清除指定会话的消息</p>。
 * <p>此接口会删除指定会话中数据库的所有消息,同时,会清理数据库空间。
 * 如果数据库特别大,超过几百 M,调用该接口会有少许耗时。</p>
 *
 * @param conversationType 指定的会话类型。
 * @param targetId 目标 Id。根据不同的 conversationType,可能是userId, groupId, discussionId。
 * @param callback 是否删除成功的回调。
 */
 public void deleteMessages(final Conversation.ConversationType conversationType, final String targetId, final ResultCallback<Boolean> callback) {}

同时 SealTalk 中实现了清除 SDK 中缓存图片的功能,开发者可参考融云 SealTalk 中的功能实现,功能位置: SealTalk - 我 - 帐号设置 - 清除缓存

融云的缓存文件及图片存放在 ./sdcard/cn.rongcloud.im 下