UNPKG

laya-coreui-es

Version:

laya核心库、ui库es版本,剔除了媒体、TTF等功能。基于 LayaAir-release_2.12.0 修改

58 lines (57 loc) 2.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CacheManger = void 0; const ILaya_1 = require("./../../ILaya"); class CacheManger { constructor() { } static regCacheByFunction(disposeFunction, getCacheListFunction) { CacheManger.unRegCacheByFunction(disposeFunction, getCacheListFunction); var cache; cache = { tryDispose: disposeFunction, getCacheList: getCacheListFunction }; CacheManger._cacheList.push(cache); } static unRegCacheByFunction(disposeFunction, getCacheListFunction) { var i, len; len = CacheManger._cacheList.length; for (i = 0; i < len; i++) { if (CacheManger._cacheList[i].tryDispose == disposeFunction && CacheManger._cacheList[i].getCacheList == getCacheListFunction) { CacheManger._cacheList.splice(i, 1); return; } } } static forceDispose() { var i, len = CacheManger._cacheList.length; for (i = 0; i < len; i++) { CacheManger._cacheList[i].tryDispose(true); } } static beginCheck(waitTime = 15000) { ILaya_1.ILaya.systemTimer.loop(waitTime, null, CacheManger._checkLoop); } static stopCheck() { ILaya_1.ILaya.systemTimer.clear(null, CacheManger._checkLoop); } static _checkLoop() { var cacheList = CacheManger._cacheList; if (cacheList.length < 1) return; var tTime = ILaya_1.ILaya.Browser.now(); var count; var len; len = count = cacheList.length; while (count > 0) { CacheManger._index++; CacheManger._index = CacheManger._index % len; cacheList[CacheManger._index].tryDispose(false); if (ILaya_1.ILaya.Browser.now() - tTime > CacheManger.loopTimeLimit) break; count--; } } } exports.CacheManger = CacheManger; CacheManger.loopTimeLimit = 2; CacheManger._cacheList = []; CacheManger._index = 0;