1

假设我们正在开发一个包含怪物的游戏。我们创建了一个 MonsterHandeler 类来加载我们的怪物将使用的所有位图。然后我们将这些位图存储在变量中。然后我们创建一个 Monster 类,它还存储从 MonsterHandeler 类发送到构造函数的 Bitmap 变量。如果屏幕上有 10 个怪物对象,这些变量会共享内存还是占据自己的位置?

我希望我不是不清楚我的意思,并提前感谢。

4

1 回答 1

0

位图作为引用传递,可能不会被复制(除非你正在复制它们)。当然,你的十个怪物对象会占用一些内存,但是如果你的位图已经加载,那么在怪物对象中存储它们的引用不会有任何额外的惩罚。

请注意,如果删除了对位图的原始引用,则保留在怪物对象中的对它们的引用将阻止它们被释放,但这可能是您想要的。

于 2012-12-04T01:59:06.503 回答