微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

RSL包括ResourceModule是并发被加载的还是顺序被加载的? ---是顺序被加载

RSL不只一个,这些RSL被Flex框架串行加载,即加载完一个后再加载下一个

 

>>源代码片断佐证: mx.core.RsllistLoader.as

package mx.core
{

 //构造函数调用函数loadNext()加载第一个RSL
  public function load(progressHandler:Function,
                      completeHandler:Function,
                      ioErrorHandler:Function,
                      securityErrorHandler:Function,
                      rslErrorHandler:Function):void
    {
     chainedProgressHandler = progressHandler;
     chainedCompleteHandler = completeHandler;
     chainedioErrorHandler = ioErrorHandler;
     chainedSecurityErrorHandler = securityErrorHandler;
     chainedRSLErrorHandler = rslErrorHandler;
    
     currentIndex = -1; // so first loaded item will be index 0
     loadNext();
        
    }
    

    //加载RSL
    private function loadNext():void
    {
        if (!isDone())
        {
            currentIndex++;

         // Load the current RSL.
         if (currentIndex < rsllist.length)
         {
             // Load rsl and have the RSL loader chain the
             // events our internal events handler or the chained
             // events handler if we don't care about them.
             rsllist[currentIndex].load(chainedProgressHandler,
                                        listCompleteHandler,
                                        listIOErrorHandler,
                                        listSecurityErrorHandler,
                                        chainedRSLErrorHandler);
         }
        }
    }

 

  //一个RSL加载完毕后,再加载下一个    
 private function listCompleteHandler(event:Event):void
    {
        // Pass event to external listener.
        if (chainedCompleteHandler != null)
            chainedCompleteHandler(event);

        // Load the next RSL.
       
loadNext();
    }

}

 

========================================================================

>>猜测:为什么不采用并发下载?

(1)。FlashPlayer的并发下载功能有缺陷,造成并发下载的时候会莫名出现问题。

         参考: 《同时new了多个URLLoader 加载文件时所遇到的问题》

                    http://bbs.9ria.com/thread-88518-1-1.html

(2)。http协议中对客户端请求连接数的限制

         参考: 《IE并发连接限制(as)AS队列加载类(as3和as2)》

                    http://kb.cnblogs.com/a/1583038/  

         参考: 《“HTTP协议对客户端并发连接数目的限制” vs “Flex并行上传或下载” 》

                    http://www.voidcn.com/article/p-wzvobwfl-bdn.html

(3)。基于(2),代码形式上并行了,但其本质不过是有限数量的并发连接,剩下的连接处于等待状态而已。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐