(一)最近整理资源加载和卸载,梳理了下思路画了自认为的流程图
本框架中共3块组成:对象池,资源池(AssetBundle加载出的Asset的中间管理类),AssetBundleManager(这块主要是打包的时候已经决定配置好了各个Asset间的依赖关系,与此文的关系不大,后面整理一键打包再细说)
1.同步加载
关于Instantiate的小解释:
你 Instaniate一个Prefab,是一个对Assets进行Clone(复制)+引用结合的过程,GameObject transform
是Clone是新生成的。其他mesh / texture / material / shader等,这其中些是纯引用的关系的,包括:Texture和TerrainData,还有引用和复制同时存在的,包括:Mesh/material/PhysicMaterial。引用的Asset对象不会被复制,只是一个简单的指针指向已经Load的Asset对象。这种含糊的引用加克隆的混合,大概是搞糊涂大多数人的主要原因。
2.卸载
3.异步加载
详细解释如下:
AssetBundleManager
负责编辑器下生成的依赖数据的管理负责加载资源的时候资源Ab和依赖项的加载负责资源卸载的时候资源Ab和依赖Ab的卸载
划重点
加载资源Ab的时候,一定要先加载依赖项卸载资源Ab的时候

本文深入探讨Unity中资源管理的三大核心组件:对象池、资源池和AssetBundleManager的作用及交互过程。解析同步与异步加载机制,强调依赖项管理的重要性,避免内存泄漏,并提供测试代码供实践。
最低0.47元/天 解锁文章
477

被折叠的 条评论
为什么被折叠?



