【问题标题】:Image memory usage图像内存使用
【发布时间】:2014-06-19 07:01:39
【问题描述】:

我有一张 26.4KB 的图片。它由下面的 Frame 类加载。为什么 Flex 的 Profiling Tool 显示此 Frame 实例的使用量为 1388KB。

public class Frame extends Group
    {
        public function Frame(source:Object)// image with 26,4K
        {           
            var image:BitmapImage;
            image = new BitmapImage();
            image.smooth = true;
            image.source = source;
            this.addElement(image);         
        }   
    }

【问题讨论】:

    标签: image actionscript-3 apache-flex flex3 flex4.5


    【解决方案1】:

    BitmapImages 本质上是一个未压缩矩形数组,其中包含确定像素颜色的字节。

    我想你的输入文件是JPG/JPEGPNGGIF? (基本上是压缩的)。

    想象一个图像100px by 100px, 32bit RGBA colors(红色/绿色/蓝色/Alpha)。

    BitmapImage 的内存要求约为100 * 100 * (32 / 8) (X * Y * bytesPerPixel) = 40K 字节。但是,与JPG 一样的 SAME 图像可能会压缩到 3K 或其他大小。 (或GIF,或PNG等)

    它必须在某个点存储为位图,以便可以将其复制(blitted)到视频内存中进行显示。也许flex 有您可以使用/尝试的替代图像存储类型?

    【讨论】:

    • 我的图片有 1024x534。 96dpi 和 24 Dit 深度的水平和垂直分辨率。那么 s:image 显示图像会更好吗?
    • {Grin} 还不是最迷糊的!尝试一下!根据我的经验,除非您正在修补内存不足的嵌入式设备,否则这真的不是什么大问题。玩一些东西,尝试一些想法,使用一个好的 SCM(git!),如果某些东西不能像你想要的那样工作,你可以轻松地回滚。
    猜你喜欢
    • 2011-09-28
    • 2020-02-17
    • 1970-01-01
    • 1970-01-01
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-10
    相关资源
    最近更新 更多