com.alicizax.unity.ui.exten.../Runtime/RecyclerView/ObjectPool/IObjectPool.cs

28 lines
672 B
C#
Raw Normal View History

2025-12-26 14:22:46 +08:00
namespace AlicizaX.UI
2025-05-28 19:37:38 +08:00
{
using System;
2025-12-26 14:22:46 +08:00
public interface IObjectPool : IDisposable
2025-05-28 19:37:38 +08:00
{
/// <summary>
/// 从池子中分配一个可用对象,没有的话就创建一个
/// </summary>
/// <returns></returns>
object Allocate();
/// <summary>
/// 将对象回收到池子中去,如果池中的对象数量已经超过了 maxSize则直接销毁该对象
/// </summary>
/// <param name="obj"></param>
void Free(object obj);
}
2025-12-26 14:22:46 +08:00
public interface IObjectPool<T> : IObjectPool, IDisposable where T : class
2025-05-28 19:37:38 +08:00
{
new T Allocate();
void Free(T obj);
}
}