Away3DのWhiteShadingBitmapMaterialを普通に使ってるとBitmapDataをガンガンキャッシュしてメモリリーク起こすのでclearCache()してね、とのこと。
#away3d memory leak was on WhiteShadingBitmapMaterial – Rob added a clearCache function back in July that seems to solve it. Scary! ;o)
— Jasper Stocker (@jasperstocker) February 10, 2011
取り急ぎ5秒おきにキャッシュクリアして回避。
package wimax.away3d.material
{
import away3d.materials.WhiteShadingBitmapMaterial;
import flash.display.BitmapData;
import flash.events.TimerEvent;
import flash.utils.Timer;
public class ImprovedWhiteShadingBitmapMaterial extends WhiteShadingBitmapMaterial
{
public var clearCacheInterval:int = 5000;
public function ImprovedWhiteShadingBitmapMaterial(bitmap:BitmapData, init:Object=null)
{
super(bitmap, init);
var t:Timer = new Timer(clearCacheInterval);
t.addEventListener(TimerEvent.TIMER, function(e:TimerEvent):void
{
clearCache();
});
t.start();
}
}
}