【发布时间】:2010-12-13 18:32:09
【问题描述】:
我正在尝试为我正在编写的小游戏编写一个简单的资源管理器。此资源管理器需要执行的任务之一是卸载未使用的资源。我可以考虑通过两种方式做到这一点:
当对象不再需要 引用资源,它必须 调用资源管理器的方法 表示它不再使用它; 或
当对象不再需要 引用资源,它只是 将其设置为空。那么当 资源管理器被要求卸载 未使用的资源,它得到 引用计数(通过反射?) 每个资源。如果引用计数 是一(资源管理器将 有对资源的引用), 卸载资源。
有没有办法在 C# 中实现第二个解决方案? 谢谢。
【问题讨论】:
-
您的资源管理器会做哪些垃圾收集器不会做的事情?
-
@CannibalSmith - 通常,允许多位代码重用资源(本质上是缓存)
-
它用于加载图片,确保一次只加载一张图片(无论请求多少,内存中只能有一个版本)。
标签: c# reflection resources reference resourcemanager