处理程序数据IO吞吐量?

时间:2012-12-05 04:01:56

标签: android multithreading android-handler

android Handlers的可行数据IO吞吐量是多少?足够在线程之间传递原始音频或视频?它应该是可持续的吗?

我没有在android Handler docs,$ WEB_SEARCH或SO中看到过对此的任何引用。

1 个答案:

答案 0 :(得分:1)

  

足够在线程之间传递原始音频或视频?应该是吗?   可持续?

这取决于您的实施。最终,您要么需要基于共享内存的通信,要么需要基于深层复制的通信。如果要发送数据副本(或连续的数据块副本流),它将产生性能开销,但不是由于Handlers,而是由于实际的内存复制。

这是因为Handlers仅发送&处理Message个对象。您可以使用obj的{​​{1}}字段传递任何对象引用,即您可以使用它来发送对任何数据的(同步)引用。如果您将原始引用发送到某些数据,它将像共享内存通信。如果您首先复制数据,并将引用发送到该副本,则它基本上是深度复制。在任何一种情况下,您都在处理相同的进程内存区域,因此可持续性取决于通信协议而不是Message。 (显然,如果您为音频/视频数据的每个Handlers值发送Message,则会非常慢。)