unity的项目中,一运行 BuildPipeline.BuildAssetBundles()方法,就可以自动将项目的资源打成ab。
其中,打ab的规则,是按照各个资源的assetBundleName打的,比如图片pic1的assetBundleName设置成Asset_pic1,则打出来的ab名字会是Asset_pic1.ab。
新项目里,之前的打包处理是将所有资源都设置成当前资源的目录简写。比如,Asset/sp/pic1.png,则用代码将其assetBundleName设置成Asset_sp_pic1,这样所有的资源都会有自己的ab。
然而,发现打出来的图片ab比图片本身要打100多kb,通过解ab包才发现,它将图片所在的图集都打进了这个ab里面。
这样每张图片都将重复的图集打了进去,导致了包体十分大(多了有50M左右)。
后面处理的方案,是将相同图集(TAG)里的图片都打进同一个ab里面,这样,图集也只会引用一次,解决这个问题。
暂时没想到其他方案,如果有其他方案,欢迎骚扰~