0

Scout でアプリをプロファイリングしているときに、メソッドJSONObject.internalPutが 2,355 個の Dictionary オブジェクトの割り当てを担当していることに気付きました。

メソッドのコードは次のとおりです。

internal function internalPut(key:String, value:*):void {
    _map[key] = value;  // _map is a Dictionary 
}

これをどのように説明できますか?

_mapは、weakKeys パラメーターなしで JSONObject のコンストラクターで作成された Dictionary オブジェクトです(つまり、false です)。

単純な辞書[キー]=値で何かを割り当てることができますか??

助けてくれてありがとう

エヤル

Scout は、internalPut メソッドが 2,355 個の辞書オブジェクトを割り当てたことを示しています

4

1 に答える 1

0

そのため、Flash/AS3 では、空のディクショナリまたは配列オブジェクトが、最初のオブジェクト割り当て時、つまりディクショナリに対する最初の「プット」操作または最初の「プッシュ」コマンドが発生したときに、独自のクラスの別のインスタンスを内部的に作成する可能性があることが判明しました。配列で発生します。

私が調査したところ、これはこれらのコレクション オブジェクトが以前にクリアされた場合にのみ発生します (つまり、値があり、「delete」または「splice」呼び出しによって空にされた場合)。

それが役に立てば幸い、

エヤル

于 2016-06-21T12:51:59.663 に答える