浏览代码

美人图防止下载图片的时候造成内存泄漏

hexiaojie 10 月之前
父节点
当前提交
90266d5087
共有 1 个文件被更改,包括 23 次插入0 次删除
  1. 23 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/MatchingCompetitionSproxy.cs

+ 23 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/MatchingCompetitionSproxy.cs

@@ -278,6 +278,14 @@ namespace GFGGame
         {
         {
             var response = (S2C_GetPreviousWorksCollection)await MessageHelper.SendToServer(new C2S_GetPreviousWorksCollection { });
             var response = (S2C_GetPreviousWorksCollection)await MessageHelper.SendToServer(new C2S_GetPreviousWorksCollection { });
             if (!(response is { Error: ErrorCode.ERR_Success })) return false;
             if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+       
+            foreach (var data in MatchingCompetitionDataManager.Instance._BeforeWorksList)
+            {
+                data.Bytes = null;
+                data.WorksInfo = null;
+                data.Ntexture?.Dispose();
+            }
+            
             MatchingCompetitionDataManager.Instance._BeforeWorksList.Clear();
             MatchingCompetitionDataManager.Instance._BeforeWorksList.Clear();
             foreach (var item in response.WorksCollectionList)
             foreach (var item in response.WorksCollectionList)
             {
             {
@@ -293,6 +301,14 @@ namespace GFGGame
         {
         {
              var response = (S2C_GetOldJudgingRoundRankList)await MessageHelper.SendToServer(new C2S_GetOldJudgingRoundRankList { JudgingRoundOpenId = id});
              var response = (S2C_GetOldJudgingRoundRankList)await MessageHelper.SendToServer(new C2S_GetOldJudgingRoundRankList { JudgingRoundOpenId = id});
             if (!(response is { Error: ErrorCode.ERR_Success })) return false;
             if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            
+            foreach (var data in MatchingCompetitionDataManager.Instance._BeforeRankList)
+            {
+                data.Bytes = null;
+                data.JudgingInfo = null;
+                data.Ntexture?.Dispose();
+            }
+            
             MatchingCompetitionDataManager.Instance._BeforeRankList.Clear();
             MatchingCompetitionDataManager.Instance._BeforeRankList.Clear();
             foreach (var item in response.JudgingRoundRoleInfoList)
             foreach (var item in response.JudgingRoundRoleInfoList)
             {
             {
@@ -310,6 +326,13 @@ namespace GFGGame
         {
         {
             var response = (S2C_GetJudgingRoundWorksList)await MessageHelper.SendToServer(new C2S_GetJudgingRoundWorksList { });
             var response = (S2C_GetJudgingRoundWorksList)await MessageHelper.SendToServer(new C2S_GetJudgingRoundWorksList { });
             if (!(response is { Error: ErrorCode.ERR_Success })) return false;
             if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            
+            foreach (var data in MatchingCompetitionDataManager.Instance.MatchingPhotoInfos)
+            {
+                data.Bytes = null;
+                data.Ntexture?.Dispose();
+            }
+            
             MatchingCompetitionDataManager.Instance.MatchingPhotoInfos.Clear();
             MatchingCompetitionDataManager.Instance.MatchingPhotoInfos.Clear();
             foreach (var item in response.JudgingRoundRoleInfoList)
             foreach (var item in response.JudgingRoundRoleInfoList)
             {
             {