用我们最新 demo 测试下呢?
chatManager 里面的方法大部分都是直接在主线程发起,但是我们上层在用的时候,会进行线程切换,类似下面这种:
// ConversationViewModel.java
// 包含不存储类型消息
public MutableLiveData<List<UiMessage>> loadOldMessages(Conversation conversation, String withUser, long fromMessageId, long fromMessageUid, int count, boolean enableLoadRemoteMessageWhenNoMoreLocalOldMessage) {
MutableLiveData<List<UiMessage>> result = new MutableLiveData<>();
ChatManager.Instance().getWorkHandler().post(() -> {
ChatManager.Instance().getMessages(conversation, fromMessageId, true, count, withUser, new GetMessageCallback() {
@Override
public void onSuccess(List<Message> messageList, boolean hasMore) {
....