private void OnDisposeBundleCache() { GameResourceLoadManager loadManager = GameResourceLoadManager.GetInstance(); if (loadManager == null) { return; } if (mainMenuCacheNameList != null) { for (int i = 0; i < mainMenuCacheNameList.Count; i++) { loadManager.UnloadBundle(mainMenuCacheNameList[i]); } mainMenuCacheNameList.Clear(); } if (mainMenuCacheIdList != null) { for (int i = 0; i < mainMenuCacheIdList.Count; i++) { loadManager.UnloadBundle(mainMenuCacheIdList[i]); } mainMenuCacheIdList.Clear(); } if (mainMenuCacheObjDic != null) { var keys = new List <string>(mainMenuCacheObjDic.Keys); for (int i = 0; i < keys.Count; i++) { mainMenuCacheObjDic[keys[i]] = null; } mainMenuCacheObjDic.Clear(); } GC.Collect(); }