2

何千ものレコードをメモリに保存する必要があり、さまざまなキーで効率的に並べ替える必要がある Air アプリケーションを設計しています。

ByteArray通常の AS3 オブジェクトのすべてのオーバーヘッドを回避し、メモリをより効率的に使用できるようになるため、 を使用することを考えました。

ただし、課題は、 内のレコードをどのようにソートするかByteArrayです。私は2つの可能性を考えました:

1- AS3 でクイックソートまたはヒープソートを実装し、この方法で配列をソートします。ただし、これで十分なパフォーマンスが得られるかどうかはわかりません。たとえば、ByteArray にはメモリのチャンクをコピーするメソッドがありません。バイト単位で行う必要があります。

2- C を使用して、ByteArray を取得して並べ替える Air Native Extension (ANE) を作成します。これの欠点は、実行する必要があるすべてのプラットフォームで実装するのが難しくなることです。

あなたは何をお勧めします?以前に似たようなことをした経験はありますか?

4

2 に答える 2

3

私は配列またはベクトルオブジェクトを使用するsortOn()言いsort()ます. また、オブジェクトのソートで実際に行われるのはリンクのソートであり、ByteArray には実際のデータが含まれているため、ByteArrays ではどこにも到達しないと思います。

于 2013-02-06T10:25:13.553 に答える