Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }