項目后期 AB資源眾多 全量打包導致太過費時. 於是擴展打包方法,自動化選取和增量式,局部打包
Asset菜單擴展出4個選項
1 查找過期文件 (只遍歷所有資源文件后輸出結果 不打包)
2 編譯所有包文件 (全量打包)
3 僅編譯過期包文件 (基於1結果執行增量編譯 輸出到StreamingAsset目錄)
4 編譯選中的包文件 (基於當前選中的資源文件 進行遍歷和遞歸挖掘相關同AB資源 打包后輸出到StreamingAsset目錄)
2 3 選項同步更新到jenkins打包配置項目中.對應(2全部編譯 ,3增量編譯)
如果需要編譯指定AB 可以在本機上執行4號操作 上傳AB文件即可
后續優化提速方向
根據嚴格的項目路徑和AB資源管理辦法.可以使用資源目錄級別的集合分選,降低遍歷所有資源文件導致的時間開銷
例如
DirectoryInfo Dir = new DirectoryInfo(Application.dataPath + "/08.Database/template"); foreach (FileInfo f in Dir.GetFiles("*.xml", SearchOption.TopDirectoryOnly)) //查找文件 { string AssetPath = Path.Combine($"Assets/08.Database/template", f.Name); //Debug.Log(" asset資源 " + AssetPath); AssetImporter ai = AssetImporter.GetAtPath(AssetPath); if (ai.assetBundleName == v) bundleToUpdate["template"].Add(AssetPath); } return bundleToUpdate;
只對template 模板表目錄下的所有xml文件打包成為 template.ab 只需要最短的執行時間