/// <summary> /// 清空容器的所有实例,绑定,别名,标签,解决器 /// </summary> public void Flush() { lock (syncRoot) { var releaseList = new string[instances.Count]; var i = 0; foreach (var instance in instances) { releaseList[i++] = instance.Key; } foreach (var service in releaseList) { Release(service); } binds.Clear(); instances.Clear(); aliases.Clear(); aliasesReverse.Clear(); tags.Clear(); resolving.Clear(); release.Clear(); findType.Clear(); } }
/// <summary> /// 当释放时 /// </summary> public void OnDestroy() { var cursor = destroy.GetEnumerator(); while (cursor.MoveNext()) { cursor.Current.OnDestroy(); } cursor.Dispose(); update.Clear(); lateUpdate.Clear(); destroy.Clear(); loadSet.Clear(); }