public static void forceAll() { if (instance == null) { instance = new AutoReleasePool(); } instance._forceAll(); }
public int retain() { if (++_reference == 1) { AutoReleasePool.remove(this); } return(_reference); }
/// <summary> /// 加入资源引用计数; /// </summary> /// <returns></returns> public int release() { if (--_reference < 1) { _reference = 0; AutoReleasePool.add(this); } return(_reference); }
public static void forceAll() { if (instance == null) { instance = new AutoReleasePool(); } int progress = 0; while (instance.pool.Count > 0) { instance.forceTime(Time.realtimeSinceStartup + TIMEOUT * 2); ///防止递归卡死 if (progress++ > 100) { break; } } }
/// <summary> /// 加入资源引用计数; /// </summary> /// <returns></returns> public int release() { if (--_reference < 1) { _reference = 0; //当前状态在加载,并且 还没有推送到浏览器; if (_status == AssetState.LOADING) { if (ResourceLoaderManager.sharedInstance().unQueue(loader)) { _status = AssetState.NONE; } else if (loader != null) { loader.cancel(true); _status = AssetState.FAILD; } } AutoReleasePool.add(this); } return(_reference); }