0

単純に画像を読み込んでフラッシュ 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 です。

問題は、System.totalMmemory をロードした後、サイズが 1Mb 以上になることです。

トレース: ロード前後

17.391Mb
18.746Mb

フラッシュロードのように見え、画像を生データとして解凍して保存します。

ロード後に画像を元のサイズに保つ方法はありますか? ありがとうございました!

4

2 に答える 2

4

いいえ、画像を元のサイズに保つ方法はありません。Flash やその他のグラフィック環境では、画像を生データにデコードして表示する必要があります。

問題を解決する唯一の方法は、画像が不要になったらメモリを解放し、表示する必要がある画像のみをロードすることです。

于 2013-10-13T00:37:44.287 に答える