2010-11-22 16 views
2

我只是好奇,如果它實際上每次被調用時將資源加載到內存中,或者如果它查找它,發現它是否加載,如果它沒有加載它加載一次,只是保持引用,所以第二次稱它只是引用它呢?XNAs Content.Load <Texture2D>如何運作?

回答

2

它跟蹤已經加載的內容,並且如果之前加載過相同的對象(這是每個ContentManager),則簡單地返回對同一對象的引用。這適用於所有內容,而不僅僅是紋理。

結果是,只要您需要某些內容,您就可以致電Load,而無需考慮重複。另一個結果是,你不應該從ContentManager加載內容的Dispose(改爲使用ContentManager.Unload)。

如果你想要更多的細節,take a look at this question and answer

+0

啊謝謝,那是我希望的答案。我曾經使用我自己的內容管理器以這種方式工作,所以我只是假設XNA也是如此。然後我驚慌失措,因爲我意識到這只是一個假設,我不確定它是否保留引用或者它是否加載了重複資產.. – tweetypi 2010-11-22 06:49:59