一、
外部图片的显示分为两步,下载图片、解码图片。
二、
ActionScript提供了的Loader可以直接下载并解码图片显示图片,把两者对用户屏蔽。
如果要显示大量图片就可能需要生成一个loader池,可以对多个图片同时进行处理。但是又不能有太多loader同时对图片解码(下载可以多个同时),那样会导致flash一帧里运算量太大画面很卡。试验了可以设为5个loader,不卡的上限未试验。
但是事实上下载、解码这两个过程,并行的上限有所不同。100个(假设)同时下载也不会导致画面卡(下载是io,非运算),而5个(假设)同时解码就会比较卡。
虽然loader已经把下载和解码完美得封装成异步操作了,这里我们却不能直接使用loader。如果直接使用loader就意味着,下载也只能5个并行了。把两个行为封装在一起的虽然使用方便,但是代价就是瓶颈由最窄的决定。
三、
所以我们需要把loader重新拆开来。由UrlLoader负责下载,再由Loader负责对下载的binary数据解码为bitmap。
下载
解码