■吉里吉里/KAG/TJS雑談質問スレ■その5
■ このスレッドは過去ログ倉庫に格納されています
0816名前は開発中のものです。
2005/03/29(火) 23:18:24ID:cyi4fg8k普通GCはオブジェクトの参照カウンタが0になったら勝手に働くので、
(吉里吉里のVMがどう働くのかは知らないけど、普通は、ね)
メモリ大量に食うから早く消して欲しいオブジェクトとか
メモリは食わないけど数が沢山あるオブジェクトなんかを invalidate すると○。
大本を invalidate するなり delete するなりすれば要素変数名も勝手に消えるので、
辞書配列なり配列なりの各要素に対して delete するのは超無意味。
辞書配列なり配列なりの各要素に対して invalidate したい場合は再帰を使うと○。
function recursiveInvalidate( obj ) {
/**/
/**/ if( typeof( obj ) != "Object" ) return;
/**/ else if( obj instanceof "Dictionary" ) recursiveInvalidate( ( new Array() ).assign( obj ) );
/**/ else if( obj instanceof "Array" ) {
/**//**/
/**//**/for( var i = 0 ; i < obj.count ; i++ ) recursiveInvalidate( obj[ i ] );
/**/ }
/**/ invalidate obj;
}
こんな感じかな。
■ このスレッドは過去ログ倉庫に格納されています