Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.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 闪存加载图像存储器大小_Actionscript 3_Loader - Fatal编程技术网

Actionscript 3 闪存加载图像存储器大小

Actionscript 3 闪存加载图像存储器大小,actionscript-3,loader,Actionscript 3,Loader,我有这个代码,只需加载一个图像并在flash as3中显示它 function mem(evt:*=null){ trace(Number( System.totalMemory / 1024 / 1024 ).toFixed( 3 ) + 'Mb') } mem(); var loader:URLLoader = new URLLoader(); loader.addEventListener(Event.COMPLETE, onloaded) loader.load(new URLR

我有这个代码,只需加载一个图像并在flash as3中显示它

function mem(evt:*=null){
    trace(Number( System.totalMemory / 1024 / 1024 ).toFixed( 3 ) + 'Mb')
}
mem();
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onloaded)
loader.load(new URLRequest("../capture.jpg"))
addChild(loader);
function onloaded(e:Event):void  {
            mem();
        }
capture.jpg有234KB

问题是加载系统后,totalMmemory将其大小增加到1Mb以上

痕迹:加载前后

17.391Mb
18.746Mb
看起来像是闪存加载、解压缩并将图像存储为原始数据

有没有办法在加载后保持图像的原始大小?
谢谢大家!

关于这一点,我可能是对的,也可能是错的,但以下是我的理解: jpg是一种压缩格式,加载完成后,Flash或任何网页都必须在内存中解压缩jpg。
另一方面,gif没有压缩,因此有时它的初始大小可能更大,但不会进行解压缩。尝试以gif格式加载资源(对于连续色调图像可能不太理想),然后查看跟踪输出是否保持不变。

关于这一点,我可能是对的,也可能是错的,但以下是我的理解: jpg是一种压缩格式,加载完成后,Flash或任何网页都必须在内存中解压缩jpg。
另一方面,gif没有压缩,因此有时它的初始大小可能更大,但不会进行解压缩。尝试将资源加载为gif(可能不适合连续色调图像),然后查看跟踪输出是否保持不变。

否,无法将图像保持为原始大小。Flash或任何其他图形环境必须将图像解码为原始数据才能显示出来


解决问题的唯一方法是在不再需要图像时释放内存,只加载需要显示的图像。

不,无法保持图像的原始大小。Flash或任何其他图形环境必须将图像解码为原始数据才能显示出来

解决问题的唯一方法是在不再需要图像时释放内存,只加载需要显示的图像。

GIF也有压缩功能。GIF也有压缩功能。