Yes, if you want the assets in a content manager to be completely unloaded from memory, it's necessary to call Unload()
. In addition to clearing out the content manager's internal cache (which holds references to everything you've loaded), it will call Dispose()
on any resource which implements IDisposable
.
Note that the reason that a ContentManager
maintains an internal cache of resources is because loading the same resource twice doesn't actually load the same resource twice: the second time, it will simply hand you the cached object reference.