//删除所有bundle文件 public void DisposeAllBundle() { List <string> keys = new List <string>(); keys.AddRange(loadObj.Keys); for (int i = 0; i < loadObj.Count; i++) { IABRelastion loader = loadHelper[keys[i]]; loader.Dispose(); } loadHelper.Clear(); }
//卸载bundle文件 循环处理依赖关系 public void DisposeBundle(string bundle) { if (loadHelper.ContainsKey(bundle)) { IABRelastion loader = new IABRelastion(); List <string> depences = loader.GetDepence(); for (int i = 0; i < depences.Count; i++) { if (loadHelper.ContainsKey(depences[i])) { IABRelastion depence = loadHelper[depences[i]]; if (depence.RemoveReference(bundle)) { DisposeBundle(depence.GetBundleName()); } } } if (loader.GetReference().Count <= 0) { loader.Dispose(); loadHelper.Remove(bundle); } } }