android Handlers
的可行数据IO吞吐量是多少?足够在线程之间传递原始音频或视频?它应该是可持续的吗?
我没有在android Handler
docs,$ WEB_SEARCH或SO中看到过对此的任何引用。
答案 0 :(得分:1)
足够在线程之间传递原始音频或视频?应该是吗? 可持续?
这取决于您的实施。最终,您要么需要基于共享内存的通信,要么需要基于深层复制的通信。如果要发送数据副本(或连续的数据块副本流),它将产生性能开销,但不是由于Handlers
,而是由于实际的内存复制。
这是因为Handlers
仅发送&处理Message
个对象。您可以使用obj
的{{1}}字段传递任何对象引用,即您可以使用它来发送对任何数据的(同步)引用。如果您将原始引用发送到某些数据,它将像共享内存通信。如果您首先复制数据,并将引用发送到该副本,则它基本上是深度复制。在任何一种情况下,您都在处理相同的进程内存区域,因此可持续性取决于通信协议而不是Message
。 (显然,如果您为音频/视频数据的每个Handlers
值发送Message
,则会非常慢。)