自定义Unity3D资源管理器

问题

管理资源需要解决几个问题:

  • 如何知道资源被其他哪些地方引用。
  • 如何高效的删除不再被引用的资源。

原理

  • 使用资源缓存表缓存资源(可以用字典)。
  • 每个资源保存一个对应的弱引用列表(保存所有引用者,可以在加载资源时传进来)。
  • 使用一个GC链表(收集垃圾),保存每一个资源(顺序无关),每次加载一个新的资源时都会同时把资源放入到GC链表中
  • 使用GC游标来收集垃圾(利用游标可以做到每一帧只收集一点垃圾,这样就不会影响性能)。

源码…

发布了41 篇原创文章 · 获赞 4 · 访问量 3884

猜你喜欢

转载自blog.csdn.net/weixin_42487874/article/details/103512401