【发布时间】:2011-04-04 11:34:02
【问题描述】:
我有一个类,它有许多其他类扩展它。所以现在我使用 GenericPool 来回收项目以获得更好的性能。但问题是,我不能投子类,例如:
StarDustSprite sprStarDust = (StarDustSprite) splStarDust[rndGenerator.nextInt(Parent.andStarDustR.length)].obtainPoolItem();
(StarDustSprite扩展了一个名为Sprite的类,obtainPoolItem()函数返回一个Sprite对象)。
那么我可以强制解析它吗?或者如果我有 10 个子类,我必须创建 10 个 GenericPool 类?
谢谢。
【问题讨论】:
-
当心 - 回收对象“以获得更好的性能”可能会导致更差性能!
-
您能解释一下原因吗?每次创建 Sprite 时,我都必须创建一个 Texture 和一个 TextureRegion,以及初始化 Sprite(我的意思是扩展 Sprite 的类)。