unity-资源加载和卸载流程梳理

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

(一)最近整理资源加载和卸载,梳理了下思路画了自认为的流程图
本框架中共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的时候
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值