/// <summary> /// 循环处理关系 /// </summary> /// <param name="bundleName">Bundle name.</param> public void DisposeBundle(string bundleName) { if (mLoadHelper.ContainsKey(bundleName)) { IABRelationMgr loader = mLoadHelper [bundleName]; List <string> dependences = loader.GetDependences(); for (int i = 0; i < dependences.Count; i++) { if (mLoadHelper.ContainsKey(dependences [i])) { IABRelationMgr dependence = mLoadHelper [dependences[i]]; if (dependence.removeReference(bundleName)) { DisposeBundle(dependence.GetBundleName()); } } } if (loader.GetReference().Count <= 0) { loader.Dispose(); mLoadHelper.Remove(bundleName); } } }
/// <summary> /// 全部删除 /// </summary> public void DisposeAllBundleAndRes() { DisposeAllObj(); List <string> keys = new List <string> (); keys.AddRange(mLoadHelper.Keys); for (int i = 0; i < mLoadHelper.Count; i++) { IABRelationMgr loader = mLoadHelper [keys [i]]; loader.Dispose(); } mLoadHelper.Clear(); }