这是一个关于在android上接收UDP数据的最佳方式的架构问题。
我通过wifi链接从自定义硬件设备发送视频流。我的设备有一些硬件限制,因此视频流由一系列JPEG图像组成。每个图像被分解成一堆数据包,并通过UDP发送(TCP也是一个选项)。
我有一个安卓平板电脑设备,它连接到我的自定义成像硬件并接收其数据。目前我有一个线程在循环中等待UDP数据包。当收到数据包时,我创建一个数据包并将其作为消息的一部分发送回主线程。在主线程的处理程序中,我从消息中获取字节数组并将其传递给尝试重建jpeg图像的方法。如果成功,它会使用BitmapFactory创建一个Bitmap并将其推入队列(这一步可能很愚蠢)。然后主线程将图像出列并放入ImageView。
我不确定这是否是最好的做事方式。有没有办法避免将数据移回主线程,如果是这样,我如何将重建的图像提供给UI线程。
感谢您的任何建议。