1

android の実現可能なデータ IO スループットはHandlers? スレッド間で未加工のオーディオやビデオを渡すのに十分ですか? それは持続可能であるべきですか?

Android Handlerdocs、 $WEB_SEARCH 、または this ごとの SO で、これへの参照は見たことがありません。

4

1 に答える 1

1

生のオーディオまたはビデオをスレッド間で渡すには十分ですか? それは持続可能であるべきですか?

実装によって異なります。最終的には、共有メモリ ベースまたはディープ コピー ベースの通信が必要になります。データのコピー (またはデータ チャンク コピーの連続ストリーム) を送信する場合、パフォーマンス オーバーヘッドが発生しますが、これは によるものHandlersではなく、実際のメモリ コピーによるものです。

これは、Handlers単にMessageオブジェクトを送信して処理するためです。objのフィールドを使用して、Message任意のオブジェクト参照を渡すことができます。つまり、(同期された) 参照を任意のデータに送信するために使用できます。元の参照を何らかのデータに送信すると、共有メモリ通信のようになります。最初にデータのコピーを作成し、そのコピーへの参照を送信すると、基本的にディープ コピーになります。どちらの場合も、同じプロセス メモリ領域で作業しているため、持続可能性は ではなく通信プロトコルに依存しますHandlers。(明らかに、オーディオ/ビデオ データのMessageint値を送信すると、非常に遅くなります。)

于 2012-12-25T17:38:05.097 に答える