QF框架 对象池

使用案例

using QFramework;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class UseCase : MonoBehaviour
{
    class Msg : IPoolable, IPoolType
    {
        #region IPoolAble 实现        
        public void OnRecycled()
        {
            Log.I("OnRecycled");
        }

        public bool IsRecycled { get; set; }

        #endregion


        #region IPoolType 实现

        public void Recycle2Cache()
        {
            SafeObjectPool<Msg>.Instance.Recycle(this);
        }

        #endregion
    }

    private void Start()
    {
        //初始化对象池最大数量100,初始化数量50;
        SafeObjectPool<Msg>.Instance.Init(100, 50);

        //使用对象池来分配对象
        Msg fishOne = SafeObjectPool<Msg>.Instance.Allocate();

        //回收对象
        fishOne.Recycle2Cache();
    }
}

需要使用对象池的对象都要继承这两个接口 IPoolable, IPoolType

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容