对象池的基本定义大家基本了解了,我在这就进行简单的一句话概述。
通常情况下,当您实例化并销毁prefabs的实例,您在运行时不断创建新的对象和摧毁它们,这可能会导致运行时垃圾回收和偶尔的帧速率下降。对象池可以防止这种,通过预先实例化,而不是被摧毁然后重新生成对象!
本篇文章是关于unity内部的简单对象池实现,实现的基本功能就是,打死怪物后实例化金币,金币可以通过对象池一直复用。不需要重复的销毁金币和生成新的金币实例。
using System.Collections.Generic;
using UnityEngine;
namespace Logic.Base
{
//对象携带的脚本
public class BasePoolDataItem : MonoBehaviour{
public delegate object CollectHandler(GameObject obj);
public CollectHandler my_collect;
public float collect_time = 0;
void Start()
{ }
void Update()
{ }
void OnDestory()
{
Debug.LogError("OnDestory");
}
public virtual void StartState(CollectHandler _my_collect)
{
my_collect &