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;
 }