加载图像占用了我的直接内存 | AS3
Loading images takes my direct memory up | AS3
我只是加载位图,甚至没有将它们添加到舞台上,每个图像都占用了我的直接内存。大图像会占用更多内存,所以我想知道即使在加载这些位图后如何保持低直接内存,或者我在这里做错了什么或遗漏了什么?
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 多个位图,每个图像的工作方式与上面的示例相同。
所以...没有空闲资源 - 您必须将所有资源加载到内存中,或者您必须加载然后卸载每个或几个位图。这将 'eat' 一些其他资源,如 cpu 和网络流量等
首先,您必须删除 'bitmapLoaded' 函数中的 'bitmapLoader' Event.COMPLETE 侦听器: bitmapLoader.removeEventListener(Event.COMPLETE, bitmapLoaded); }
您必须确保加载 bitmap/s 一次。
看看这个:AS3 - Memory management and What are good memory management techniques in Flash/as3.
You can look at : imageDecodingPolicy 还有。
我只是加载位图,甚至没有将它们添加到舞台上,每个图像都占用了我的直接内存。大图像会占用更多内存,所以我想知道即使在加载这些位图后如何保持低直接内存,或者我在这里做错了什么或遗漏了什么?
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 多个位图,每个图像的工作方式与上面的示例相同。
所以...没有空闲资源 - 您必须将所有资源加载到内存中,或者您必须加载然后卸载每个或几个位图。这将 'eat' 一些其他资源,如 cpu 和网络流量等
首先,您必须删除 'bitmapLoaded' 函数中的 'bitmapLoader' Event.COMPLETE 侦听器: bitmapLoader.removeEventListener(Event.COMPLETE, bitmapLoaded); }
您必须确保加载 bitmap/s 一次。
看看这个:AS3 - Memory management and What are good memory management techniques in Flash/as3.
You can look at : imageDecodingPolicy 还有。