XNA游戏具有一个名为Unload()
的方法,该方法用于卸载内容。但是这有什么意义呢?如果所有内容都被卸载,那么游戏必须退出,在这种情况下,所有内容都将被垃圾回收,对吧?
XNA游戏具有一个名为Unload()
的方法,该方法用于卸载内容。但是这有什么意义呢?如果所有内容都被卸载,那么游戏必须退出,在这种情况下,所有内容都将被垃圾回收,对吧?
礼貌的做法是在你使用完后清理干净……否则人们就不会再让你玩他们的玩具了。
我的最佳猜测是,它可以让您将Game
对象嵌套到您的项目中,并为您提供一种稍后清理它们的方法。这将有助于更好地重用您的代码。希望XNA MPV或来自XNA团队的其他人能找到它并提供更多见解。
Game
对象是什么意思? - Nick Heiner卸载有时是必要的,特别是当使用不通过垃圾回收器卸载的库时。一个例子是XACT。我记得在某个特定情况下,在Unload事件中销毁负责XACT音乐的对象,因为该对象没有被GC销毁...但我忘记了实际情况...
然而,更重要的是,GameComponent类的UnloadContent方法而不是Game类。通常,GameComponent和DrawableGameComponent对象可以使用多个资源。当对象被销毁时,您必须确保与对象相关的所有资源都被销毁、释放或有时置于等待状态。
我建议你暂时不要去管它。随着你进行XNA开发和规模更大的项目,你可能需要使用Unload方法,并了解需要使用该方法的某些情况。
IDisposable.Dispose()
或者using (...)
。 - Matthew Whited