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),代码形式上并行了,但其本质不过是有限数量的并发连接,剩下的连接处于等待状态而已。

相关文章

一:display:flex布局display:flex是一种布局方式。它即可以...
1. flex设置元素垂直居中对齐在之前的一篇文章中记载过如何...
移动端开发知识点pc端软件和移动端apppc端软件是什么,有哪些...
最近挺忙的,准备考试,还有其他的事,没时间研究东西,快周...
display:flex;把容器设置为弹性盒模型(设置为弹性盒模型之后...
我在网页上运行了一个Flex应用程序,我想使用Command←组合键...