private static ACacheItem _Android_BundleCreate(WebArgument argument) { var localPath = argument.localPath; var info = WebManager.Instance.GetMappingInfo(localPath); var isSmallEnough = _IsSmallEnough(info); ACacheItem cacheItem; if (info.loadType == LoadType.Builtin) { var webType = isSmallEnough ? WebType.LoadFromCacheOrDownload : WebType.NewWWW; cacheItem = new RemoteBundleCacheItem(argument.localPath, webType); return(cacheItem); } // 大文件加載,以主城為例: // 1. 使用NewWWW方式,加載平緩,但會產生一個4MB的WebStream // 2. 使用CreateFromFile,不會產生WebStream,但加載會卡頓15s var isNewWWW = (argument.flags & WebFlags.NewWWW) != 0; var isLoadFromCacheOrDownload = isSmallEnough || !isNewWWW; if (isLoadFromCacheOrDownload) { cacheItem = new RemoteBundleCacheItem(argument.localPath, WebType.LoadFromCacheOrDownload); } else { cacheItem = new RemoteBundleCacheItem(argument.localPath, WebType.NewWWW); } return(cacheItem); }
private static ACacheItem _iPhone_BundleCreate(WebArgument argument) { var localPath = argument.localPath; var isLoadFromCacheOrDownload = (argument.flags & WebFlags.NewWWW) == 0; ACacheItem cacheItem; if (isLoadFromCacheOrDownload) { cacheItem = new RemoteBundleCacheItem(argument.localPath, WebType.LoadFromCacheOrDownload); } else { cacheItem = new RemoteBundleCacheItem(argument.localPath, WebType.NewWWW); } return(cacheItem); }
private static ACacheItem _Editor_Android_BundleCreate(WebArgument argument) { var localPath = argument.localPath; var info = WebManager.Instance.GetMappingInfo(localPath); var isSmallEnough = _IsSmallEnough(info); var isNewWWW = (argument.flags & WebFlags.NewWWW) != 0; var isLoadFromCacheOrDownload = isSmallEnough || !isNewWWW; ACacheItem cacheItem; if (isLoadFromCacheOrDownload) { cacheItem = new LocalBundleCacheItem(argument.localPath); } else { cacheItem = new RemoteBundleCacheItem(argument.localPath, WebType.NewWWW); } return(cacheItem); }