主页 > 互联网  > 

unity自己对象池的使用

unity自己对象池的使用
unity出了自己的对象池 这里记录一下用法

命名空间就是这个

一般有两种用法,第一种是在using里面获取,脱离这个域就释放。第二种是在Get和Release配合使用

// This version will only be returned to the pool if we call Release on it. //只有使用Release才会释放 var simplifiedPoints = ListPool<Vector2>.Get(); //这种只要脱离了Scope就会自动释放 // Copy the points into a temp list so we can pass them into the Simplify method // When the pooled object leaves the scope it will be Disposed and returned to the pool automatically. // This version is ideal for working with temporary lists. using (var pooledObject = ListPool<Vector2>.Get(out List<Vector2> tempList)) { for (int i = 0; i < points.Length; ++i) { tempList.Add(points[i]); } LineUtility.Simplify(tempList, 1.5f, simplifiedPoints); } return simplifiedPoints; 一般比较常用的就几个集合类和下面这个,可以对自己的类进行一个池子回收。 using UnityEngine.Pool; public class GenericPoolExample { class MyClass { public int someValue; public string someString; } void GetPooled() { // Get an instance var instance = GenericPool<MyClass>.Get(); // Return the instance GenericPool<MyClass>.Release(instance); } } 对于一些unity中的GameObject对象可以使用ObjectPool
标签:

unity自己对象池的使用由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“unity自己对象池的使用