com.alicizax.unity.framework/Runtime/UI/Constant/UIMetadataObject.cs
陈思海 cd5de2c374 优化UIService模块
优化UI模块更多细节容错处理 优化UI模块内存泄露问题 优化性能
2026-04-23 20:19:46 +08:00

43 lines
1.1 KiB
C#

using System;
using AlicizaX.ObjectPool;
namespace AlicizaX.UI.Runtime
{
internal class UIMetadataObject : ObjectBase
{
public static UIMetadataObject Create(UIMetadata target, string name)
{
UIMetadataObject obj = MemoryPool.Acquire<UIMetadataObject>();
obj.Initialize(name, target);
return obj;
}
public static UIMetadataObject Create(UIMetadata target, RuntimeTypeHandle handle)
{
UIMetadataObject obj = MemoryPool.Acquire<UIMetadataObject>();
obj.Initialize(handle.GetHashCode().ToString(), target);
return obj;
}
protected internal override void Release(bool isShutdown)
{
UIMetadata metadata = (UIMetadata)Target;
if (metadata != null)
{
}
}
protected internal override void OnUnspawn()
{
base.OnUnspawn();
UIMetadata metadata = (UIMetadata)Target;
if (metadata != null)
{
metadata.CancelAsyncOperations();
}
}
}
}