public void Clear() { foreach (KeyValuePair <string, AssetBundleCache> keyValuePair in m_assetBundleCacheDic) { AssetBundleCache temp = keyValuePair.Value; AssetBundle ab = temp.GetAssetBundle(); if (null != ab) { ab.Unload(false); } } m_assetBundleCacheDic.Clear(); }
public void CleanUpAssetBundleCache() { if (m_assetBundleCacheDic.Count <= 0) { return; } rmList.Clear(); var now = Time.realtimeSinceStartup; foreach (KeyValuePair <string, AssetBundleCache> keyValuePair in m_assetBundleCacheDic) { //跳过常驻内存的Asset资源 AssetBundleCache temp = keyValuePair.Value; if (temp.GetPersistent()) { continue; } else if (temp.GetCount() > 0) { continue; } if (now > (temp.GetLastUseTime() + temp.GetCacheDelayTime())) { rmList.Add(keyValuePair.Key); AssetBundle ab = temp.GetAssetBundle(); if (null != ab) { ab.Unload(false); } } } foreach (string s in rmList) { m_assetBundleCacheDic.Remove(s); } }
public void CacheAssetBundle(string path, AssetBundleCache cache) { m_assetBundleCacheDic[path] = cache; }