加载图像需要我的直接记忆| AS3

时间:2015-07-08 12:13:11

标签: performance actionscript-3 flash memory flashdevelop

我只加载位图,甚至没有将它们添加到舞台上,每张图片都会占用我的直接内存。大图像会占用更多内存,所以我想知道如果在加载这些位图后如何保持直接内存不足,或者我在这里做错了什么或丢失了什么东西?

    var myBitmapHolder:Bitmap; 

    var bitmapLoader:Loader = new Loader();
    bitmapLoader.addEventListener(Event.COMPLETE, bitmapLoaded);
    bitmapLoader.load(new URLRequest("myBitmap.png");

    private function bitmapLoaded(e:Event):void {
        myBitmapHolder = e.currentTarget.content;
    }

加载位图后,我会使用myBitmapHolder存储它,以便根据请求访问它。我使用了超过30个位图,分别对每个图像的上述示例起作用。

1 个答案:

答案 0 :(得分:0)

所以...没有免费资源 - 你必须在内存中加载所有资源,或者你必须加载然后卸载每个或几个位图。这将“吃掉”其他资源,如CPU和网络流量等 首先,您必须在'bitmapLoaded'函数中删除'bitmapLoader'Event.COMPLETE侦听器:bitmapLoader.removeEventListener(Event.COMPLETE, bitmapLoaded); }
您必须确保加载位图/ s一次。
看看这个:AS3 - Memory managementWhat are good memory management techniques in Flash/as3。你可以看一下:imageDecodingPolicy