diff --git a/Assets/CatAsset/Runtime/Database/CatAssetDatabase.Profiler.cs b/Assets/CatAsset/Runtime/Database/CatAssetDatabase.Profiler.cs index 900689e0..988ebec1 100644 --- a/Assets/CatAsset/Runtime/Database/CatAssetDatabase.Profiler.cs +++ b/Assets/CatAsset/Runtime/Database/CatAssetDatabase.Profiler.cs @@ -272,7 +272,7 @@ private static void BuildProfilerPoolInfo(ProfilerInfo info) } ppi.UsedCount = usedCount; - ppi.UnusedTimer = ppi.AllCount - ppi.UsedCount; + ppi.UnusedCount = ppi.AllCount - ppi.UsedCount; } info.PoolInfoList.Sort(); } diff --git a/Assets/CatAsset/Runtime/Database/RuntimeInfo/BundleRuntimeInfo.cs b/Assets/CatAsset/Runtime/Database/RuntimeInfo/BundleRuntimeInfo.cs index 16f4e9a0..6ba1456c 100644 --- a/Assets/CatAsset/Runtime/Database/RuntimeInfo/BundleRuntimeInfo.cs +++ b/Assets/CatAsset/Runtime/Database/RuntimeInfo/BundleRuntimeInfo.cs @@ -19,6 +19,7 @@ static BundleRuntimeInfo() { if (change == PlayModeStateChange.ExitingPlayMode) { + //编辑器下退出游戏 需要把所有Stream都关了 foreach (var pair in CatAssetDatabase.GetAllBundleRuntimeInfo()) { var info = pair.Value; diff --git a/Assets/CatAsset/Runtime/Pool/GameObjectPool/GameObjectPoolManager.cs b/Assets/CatAsset/Runtime/Pool/GameObjectPool/GameObjectPoolManager.cs index 1593e8dd..8e8db3b0 100644 --- a/Assets/CatAsset/Runtime/Pool/GameObjectPool/GameObjectPoolManager.cs +++ b/Assets/CatAsset/Runtime/Pool/GameObjectPool/GameObjectPoolManager.cs @@ -71,9 +71,10 @@ private struct InstantiateParam /// public static void Update(float deltaTime) { - //轮询池子 + foreach (var pair in PoolDict) { + //轮询对象池 pair.Value.OnUpdate(deltaTime); } @@ -86,12 +87,10 @@ public static void Update(float deltaTime) waitUnloadPrefabNames.Add(pair.Key); } } - foreach (string prefabName in waitUnloadPrefabNames) { DestroyPool(prefabName); } - waitUnloadPrefabNames.Clear(); //处理分帧实例化 @@ -186,12 +185,9 @@ public static void DestroyPool(string assetName) { return; } - - var pool = GetOrCreatePool(prefab); - pool.OnDestroy(); - - PoolDict.Remove(prefab); + loadedPrefabDict.Remove(assetName); + DestroyPool(prefab); } /// @@ -199,6 +195,8 @@ public static void DestroyPool(string assetName) /// public static void DestroyPool(GameObject template) { + var pool = GetOrCreatePool(template); + pool.OnDestroy(); PoolDict.Remove(template); }