Browse Source

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

hexiaojie 10 months ago
parent
commit
90266d5087

+ 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 { });
             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();
             foreach (var item in response.WorksCollectionList)
             {
@@ -293,6 +301,14 @@ namespace GFGGame
         {
              var response = (S2C_GetOldJudgingRoundRankList)await MessageHelper.SendToServer(new C2S_GetOldJudgingRoundRankList { JudgingRoundOpenId = id});
             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();
             foreach (var item in response.JudgingRoundRoleInfoList)
             {
@@ -310,6 +326,13 @@ namespace GFGGame
         {
             var response = (S2C_GetJudgingRoundWorksList)await MessageHelper.SendToServer(new C2S_GetJudgingRoundWorksList { });
             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();
             foreach (var item in response.JudgingRoundRoleInfoList)
             {