目的
随着Unity版本的不断升级,Assetbundle 的功能也在不断的完善中, 过去很多团队将每个资源文件打成一个ab的做法, 在Unity5.4版本开始,似乎已经变得越来越没有必要, 本文得益于官方的一篇ab的文章https://unity3d.com/es/learn/tutorials/topics/best-practices/assetbundle-fundamentals#Loading_Asset_Bundles , 意在通过讲解ab加载到内存的损耗细节,来说明Unity5.4版本后的ab将让热更新管理方案变得比之前更简洁和便利。
最疑惑的问题
在学习和了解ab的过程中, 最让我疑惑的地方是下面这张图:
问题在于,对于加载到内存的assetbundle, 上图中的紫色部分描述的内存镜像是否包含整个assetbundle内容? 为此首先在网上搜了大量的博文,可并没有让人满意的答案, 针对这块细节, 要么说的很含糊, 要么咬定assetbundle内存镜像确实会完全拷贝一份ab到内存中。 为了确认结果,我便亲自用UnityEditor试了一下, 加载一个1Mb大小的ab后,内存确实多消耗了1MB, 到此, 似乎结论已经清晰了(其实不然), 可Unity这种粗放的做法还是让我很难相