假设我们正在开发一款带有怪物的游戏。我们创建了一个MonsterHandeler类,它可以加载我们的怪物将要使用的所有位图。然后,我们将这些位图存储在变量中。然后我们创建一个Monster类,它还存储从MonsterHandeler类发送到构造函数中的Bitmap变量。如果我们在屏幕上有10个怪物对象,这些变量会共享内存还是占据自己的位置?
我希望我不清楚我的意思,并提前感谢。
答案 0 :(得分:0)
位图作为引用传递,可能不会被复制(除非您复制它们)。当然,你的十个怪物对象会占用一些记忆,但是如果你的位图已经被加载,那么将它们的引用存储在怪物对象中就没有任何额外的惩罚。
请注意,如果删除了对位图的原始引用,那么对它们的引用将被保留在怪物对象中,这将使它们不被释放,但这就是你可能想要的。