Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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
Image 如何在运行时处理动作脚本中的嵌入图像_Image_Memory_Actionscript - Fatal编程技术网

Image 如何在运行时处理动作脚本中的嵌入图像

Image 如何在运行时处理动作脚本中的嵌入图像,image,memory,actionscript,Image,Memory,Actionscript,我的理解是,嵌入式图像被压缩并存储为应用程序二进制文件(SWF文件)的一部分,并且在实例化一个具有嵌入式图像属性的类时,所有图像都会立即加载并保留在内存中,因此它们随时可用,不需要异步加载。这当然听起来很直观,但它确实正确吗 例如,如果我使用一个定义 class BunchOfEmbeddedImages { [Embed(source="some_image_1.png")] private var someImage1:Class; . . . [Embed(source="some_ima

我的理解是,嵌入式图像被压缩并存储为应用程序二进制文件(SWF文件)的一部分,并且在实例化一个具有嵌入式图像属性的类时,所有图像都会立即加载并保留在内存中,因此它们随时可用,不需要异步加载。这当然听起来很直观,但它确实正确吗

例如,如果我使用一个定义

class BunchOfEmbeddedImages {
[Embed(source="some_image_1.png")]
private var someImage1:Class;
.
.
.
[Embed(source="some_image_100.png")]
private var someImage100:Class;
}

假设每个图像为100KB,当创建此类的实例时,应用程序现在是否为10000KB(解压后会更大)?

我想我还是回答我自己的问题为好。虽然我找不到我阅读的原始文档来找到这个主题的答案(这是adobe的一个性能优化文档),但我确实发现,不管怎样,由于整个SWF都加载到内存中,所以所有嵌入的资产都在消耗内存,不管嵌入它们的类是否实例化。这是非常有意义的,因为嵌入的图像都将引用相同的位图数据,但将由不同的DisplayObject实例引用。这允许显示列表不同部分中的n个DisplayObjects显示相同的图像,但不会消耗位图内存的n倍