Я бы посоветовал выполнить всю вашу обработку данных только один раз и сохранить имя файла (поэтому вам нужно выполнить всю иерархию / сортировку только один раз). Тогда загружайте картинку только тогда, когда вы хотите (именно то, что предлагалось в предыдущем посте).
Проблема этого метода заключается в том, что Content.Load (строка) будет загружать вашу текстуру, однако, если вы потеряете все указатели на текстуру, ContentManager сохранит текстуру в памяти, так что если вы загрузите ее снова, она загрузится мгновенно. Существует метод Content.Unload (), который удаляет эти кэшированные элементы, см .:
Обсуждение на форуме по этой теме:
http://forums.xna.com/forums/p/25978/141761.aspx
Шон Харгривз объясняет это:
http://blogs.msdn.com/shawnhar/archive/2006/09/06/743437.aspx
Способ, которым я бы это реализовал, заключается в том, чтобы вызывать unload каждый раз, когда вы прекращаете использовать изображение, или если вы хотите ускорить загрузку (это зависит от того, как часто пользователь меняет изображение, если он действительно должен пролистывать изображение). быстрая выгрузка каждый раз - плохая идея) попробуйте перехватить исключения из памяти и вызвать только выгрузку.