/// <summary>
        /// 释放所有资源及AB包内存镜像
        /// </summary>
        public void DisposeAllAsset()
        {
            try
            {
                foreach (SingleABLoader_2 item in _singleABDict.Values)
                {
                    item.DisposeAll();
                }
            }
            finally
            {
                _singleABDict.Clear();
                _singleABDict = null;

                //释放其他对象占用资源
                _abRelationDict.Clear();
                _abRelationDict         = null;
                _currentABName          = null;
                _curFirstDirName        = null;
                _curSingleAB            = null;
                loadAllABCompleteHandle = null;

                //卸载没有使用的资源
                Resources.UnloadUnusedAssets();
                //垃圾收集
                System.GC.Collect();
            }
        }
        /// <summary>
        /// 加载AB包
        /// </summary>
        public IEnumerator LoadAssetBundle(string abName)
        {
            //判断AB包关系类是否已存在
            if (!_abRelationDict.ContainsKey(abName))
            {
                //创建和AB包名对应的AB包关系类加入字典
                ABRelation relation = new ABRelation(abName);
                _abRelationDict.Add(abName, relation);
            }

            //获取对应的关系类
            ABRelation tempRelation = _abRelationDict[abName];

            //得到指定AB包的所有依赖关系(查询清单文件)
            string[] dependenceArray = FrameworkEntry.ABManifestLoader.RetrivalDependece(abName);
            foreach (string itemDependence in dependenceArray)
            {
                //添加依赖项
                tempRelation.AddDependence(itemDependence);
                //加载它依赖的包
                yield return(LoadDependence(itemDependence, abName));
            }

            //是否已经加载过
            if (_singleABDict.ContainsKey(abName))
            {
                yield return(_singleABDict[abName].LoadAssetBundle());
            }
            else
            {
                //未加载过,创建对应的单包加载类对象
                _curSingleAB = new SingleABLoader_2(_curFirstDirName, abName, CompleteLoadAB);
                _singleABDict.Add(abName, _curSingleAB);
                yield return(_curSingleAB.LoadAssetBundle());
            }
        }