This commit is contained in:
SL 2025-01-14 15:54:07 +08:00
commit deb45d9c6a
3 changed files with 7 additions and 3 deletions

View File

@ -22,6 +22,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
/** /**
* 5/20/21 5:49 PM * 5/20/21 5:49 PM
@ -43,7 +44,7 @@ public class ChannelManager extends BaseManager {
private IRefreshChannelAvatar iRefreshChannelAvatar; private IRefreshChannelAvatar iRefreshChannelAvatar;
private IGetChannelInfo iGetChannelInfo; private IGetChannelInfo iGetChannelInfo;
private final List<WKChannel> wkChannelList = Collections.synchronizedList(new ArrayList<>()); private final CopyOnWriteArrayList<WKChannel> wkChannelList = new CopyOnWriteArrayList<>();
//监听刷新频道 //监听刷新频道
private ConcurrentHashMap<String, IRefreshChannel> refreshChannelMap; private ConcurrentHashMap<String, IRefreshChannel> refreshChannelMap;

View File

@ -24,6 +24,7 @@ import com.xinbida.wukongim.interfaces.ISyncConversationChat;
import com.xinbida.wukongim.interfaces.ISyncConversationChatBack; import com.xinbida.wukongim.interfaces.ISyncConversationChatBack;
import com.xinbida.wukongim.message.type.WKConnectStatus; import com.xinbida.wukongim.message.type.WKConnectStatus;
import com.xinbida.wukongim.message.type.WKMsgContentType; import com.xinbida.wukongim.message.type.WKMsgContentType;
import com.xinbida.wukongim.utils.DispatchQueuePool;
import com.xinbida.wukongim.utils.WKCommonUtils; import com.xinbida.wukongim.utils.WKCommonUtils;
import com.xinbida.wukongim.utils.WKLoggerUtils; import com.xinbida.wukongim.utils.WKLoggerUtils;
@ -41,6 +42,8 @@ import java.util.concurrent.ConcurrentHashMap;
* 最近会话管理 * 最近会话管理
*/ */
public class ConversationManager extends BaseManager { public class ConversationManager extends BaseManager {
private final DispatchQueuePool dispatchQueuePool = new DispatchQueuePool(3);
private final String TAG = "ConversationManager"; private final String TAG = "ConversationManager";
private ConversationManager() { private ConversationManager() {
@ -238,7 +241,7 @@ public class ConversationManager extends BaseManager {
long version = ConversationDbManager.getInstance().queryMaxVersion(); long version = ConversationDbManager.getInstance().queryMaxVersion();
String lastMsgSeqStr = ConversationDbManager.getInstance().queryLastMsgSeqs(); String lastMsgSeqStr = ConversationDbManager.getInstance().queryLastMsgSeqs();
runOnMainThread(() -> iSyncConversationChat.syncConversationChat(lastMsgSeqStr, 20, version, syncChat -> { runOnMainThread(() -> iSyncConversationChat.syncConversationChat(lastMsgSeqStr, 20, version, syncChat -> {
new Thread(() -> saveSyncChat(syncChat, () -> iSyncConversationChatBack.onBack(syncChat))).start(); dispatchQueuePool.execute(() -> saveSyncChat(syncChat, () -> iSyncConversationChatBack.onBack(syncChat)));
})); }));
} }
} }

View File

@ -139,7 +139,7 @@ public class CryptoUtils {
public byte[] base64Decode(String data) { public byte[] base64Decode(String data) {
return Base64.decode(data, Base64.NO_WRAP); return Base64.decode(data, Base64.NO_WRAP);
} }
/** /**