江枫

Unity资源加载

   首先,我们要先知道Unity加载资源一共都有哪些方式进行加载(这里说的资源加载都是怎么把资源从硬盘加载到内存中):

1.Resource

   Resource加载是资源加载最基础的方式,通过Resource加载的资源有一些条件和限制:

1.资源一定要放在项目的Resource文件夹下
2.打包时会把资源打在包内,会导致包体增大,而且资源无法热更,想更新资源一定要重新打包
3.Resource内的资源大小有限制,好像最多只能加载2G?

   用法:

2.AssetDataBase

   AssetDataBase在我们之前做编辑器的时候有用到,可以在编辑器下加载任意路径下的任意资源。

3.AssetBundle

   AssetBundle算是万能的方案,编辑器下可以用,真机可以用,打包出去也可以用,但是没有完美的方案,AssetBundle的缺点就是使用之前需要把资源打成AB包后才能使用。

4.ResourceManager

   目前还没啥需求,只是有几个想法:

1.根据AB的依赖关系Manifest,建立一张AB的查找表
2.加载过的资源可以缓存对应的依赖关系或引用,当资源多次加载时可以省下很多操作步骤
3.加载出的资源可以进行引用计数,根据引用计数决定AB包是否需要卸载
4.编辑器下加载资源可以使用AssetDataBase进行加载,实际打包时使用AB进行加载,同时支持在编辑器下读取AB资源(测试AB)。

文章大纲