Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 逐部分加载swf_Actionscript 3_Flash - Fatal编程技术网

Actionscript 3 逐部分加载swf

Actionscript 3 逐部分加载swf,actionscript-3,flash,Actionscript 3,Flash,基本上,我们启动一个离线移动应用程序,它将动态加载和卸载swf文件。每个swf文件都将超过5MB,脱机版本也可以。但他们现在要求的是网络版 现在加载速度慢的internet连接花费的时间太长。所以我认为如果我一部分一部分地加载(比如youtube),效果会更好 但我不知道,如何一部分一部分地加载。 请帮我说说你的想法。我想5MB的swf是主swf的模块。因此,假设您的模块swf A包含一些大图像,可能有20个png文件,每个文件为200K。尝试将映像文件放在服务器端,并在加载模块swf时加载它们

基本上,我们启动一个离线移动应用程序,它将动态加载和卸载swf文件。每个swf文件都将超过5MB,脱机版本也可以。但他们现在要求的是网络版

现在加载速度慢的internet连接花费的时间太长。所以我认为如果我一部分一部分地加载(比如youtube),效果会更好

但我不知道,如何一部分一部分地加载。
请帮我说说你的想法。

我想5MB的swf是主swf的模块。因此,假设您的模块swf A包含一些大图像,可能有20个png文件,每个文件为200K。尝试将映像文件放在服务器端,并在加载模块swf时加载它们。用户很快就能看到带有基本功能的模块swf(带有基本ui元素,如按钮),然后外部图像一个接一个缓慢地出现


当您将png文件放在服务器端时,请记住对其进行压缩,例如。

如果您的服务器可以提供部分文件,则可以将所有部分作为单独的ByteArray下载。在此之后,所有数据都合并到一个ByteArray中,并通过Methodos Loader.loadBytes()加载SWF。这应该不会比通过SWF加载SWF更好,因为主SWF逻辑中存在未解析的依赖关系。您可以先让主SWF只加载关键模块,然后打开,不说声音或音乐可用,显示声音仍在加载、音乐仍在加载等信息,并开始加载这些模块,一旦加载,启动音乐或启用声音播放

YouTube player能够一部分一部分地加载视频,因为视频的后续部分独立于当前播放的内容,而Flash应用程序并非如此,它们需要完全加载才能正常工作,至少应首先加载主SWF,以初始化其模块的加载并提供基本的用户体验。此外,IE11决定在SWF未完全加载时停止显示SWF(没有运行时可能加载的其他模块),从而消除了在SWF尚未完全加载时显示人的预加载程序

所以我说,您应该首先确定主SWF是否能够在没有某些内容的情况下生存,将这些内容从主SWF中分离出来,并处理它们在应用程序中的间歇性不可用