1

「xml」データの受け渡しと「オブジェクト」データの受け渡しのどちらかを選択しようとしています。( customevents と一緒にデータを渡すときに言います)。何が効率的ですか?

V.

4

2 に答える 2

1

本当に必要でない限り、XML を使用しないでください。

XML は、Flash アプリケーションとの間でデータを転送する場合に最適ですが、内部で使用するには非常に時間がかかります。

個人的には、XML ではなく、常にベクトル、辞書、または構造体型のクラスを使用して内部的にデータを渡します。

http://jacksondunstan.com/articles/1187 (このサイトによると、数百倍遅い!)

オブジェクトのように辞書をインラインで宣言することはできませんが、オブジェクトを値だけでなくキーとしても使用できる機能は非常に便利です (弱い参照は言うまでもありません)。一度やってみると、なぜそれがとても便利なのかがわかります!




注意: XML が役立つ場合があります。私は、プログラムの一部 (場合によっては全体) の状態を記述したり、XML 記述から自分自身を構成したりする必要があるため、「元に戻す/保存」機能を備えたアプリケーションで XML を使用しました。 . この場合、次のように役立ちました。

a) データが断続的にサーバーに送信されていたか、サーバーから読み取られていました。データは既に XML 形式になっているため、変換する必要はありません。

b) 保存出力はデバッグにも必要であったため、速度を少し犠牲にする価値があったため、はるかに読みやすくなりました。

c) ユーザーが操作を元に戻す/やり直すことはめったにありません。ほんの一瞬のドラッグは問題ではありませんでしたが、コードを最適化したい場合は使用しないでください。

お役に立てれば

于 2012-10-22T16:20:35.930 に答える
1

XML は、同じデータ型をネイティブにサポートしていない 2 つの異なるテクノロジ間でデータを転送する必要がある場合に適しているため、それぞれのデータを XML で「統合」できます。その後、両側で XML を解析し、(必要に応じて) 処理するために、XML からネイティブ データ型を作成できます。

確かに、Flash は XML (動的 XML および XMLList クラス) を非常にネイティブにサポートしており、XML リテラルもサポートしています。

次の条件から選択する必要があると思います。

  • たとえば red, greenフィールドなど、データに含まれるフィールドが最初にわかっていて、これらのフィールドが変更されないことがわかっている場合。

定義済みのクラス構造を使用することをお勧めします。

  • データが動的に変更される場合は、フィールドが動的に変更されます。たとえば、red, greenフィールドのみを持つ場合 もあれば、 red, green, blue.


  • 他のテクノロジー/サービスでフラッシュ アプリケーションをさらに使用する予定がある場合。

XML を使用します。

于 2012-10-22T14:20:50.417 に答える