Dispose() public method

public Dispose ( ) : void
return void
Example #1
0
    /// <summary>
    /// 循环处理关系
    /// </summary>
    /// <param name="bundleName">Bundle name.</param>
    public void DisposeBundle(string bundleName)
    {
        if (mLoadHelper.ContainsKey(bundleName))
        {
            IABRelationMgr loader = mLoadHelper [bundleName];

            List <string> dependences = loader.GetDependences();

            for (int i = 0; i < dependences.Count; i++)
            {
                if (mLoadHelper.ContainsKey(dependences [i]))
                {
                    IABRelationMgr dependence = mLoadHelper [dependences[i]];

                    if (dependence.removeReference(bundleName))
                    {
                        DisposeBundle(dependence.GetBundleName());
                    }
                }
            }

            if (loader.GetReference().Count <= 0)
            {
                loader.Dispose();

                mLoadHelper.Remove(bundleName);
            }
        }
    }
Example #2
0
    /// <summary>
    /// 全部删除
    /// </summary>
    public void DisposeAllBundleAndRes()
    {
        DisposeAllObj();

        List <string> keys = new List <string> ();

        keys.AddRange(mLoadHelper.Keys);

        for (int i = 0; i < mLoadHelper.Count; i++)
        {
            IABRelationMgr loader = mLoadHelper [keys [i]];

            loader.Dispose();
        }

        mLoadHelper.Clear();
    }