关于NodePool的一个小疑惑,求大佬帮忙分析分析

在一个地图上会不断生成很多种不同道具,我这里有两种方案比较疑惑,不知道该选择哪一种:

1.只用一个NodePool,所有道具都继承一个node,通过active来控制是否显示
2.每一种道具都写一个NodePool

这两种方式都可以实现,但那种方法更优?求大佬帮忙分析下

help

这个要根据实际情况看,如果道具的区别不是很大,用一个对象池也是可以的。一个对象池和多个对象池在性能上没有很大的差别,只体现在管理是否方便上。如果你的道具千奇百怪,如果用一个对象池,在回收时可能要初始化一大堆属性,阅读起来就会不方便。

如果是多个对象池,那么它是不是会更加占用内存?因为它始终会缓存当前屏幕中的最大数量的node,多了会不会影响性能?

我认为不会,比如说你一共有1000个道具,一个对象池就是1000的容量,分为多个对象池,那就是多个对象池分摊了1000,实际还是创建了1000个道具,只不过容器有多个而已。

1赞

对象池本身并不占多少内存。

1赞

感谢大佬