本来是一个很简单的需求,异步采图在主界面上显示,用emitter来订阅并发送消息传数据,由于EventData是json格式,所以图像要先base64编码,界面显示的数据也恰好可以是base64,没有什么问题,于是动手。
代码很顺利的运行起来,可是图像却显示不出来,换成postMessage把16进制数据发送到主线程再base64,图像显示正常。感觉自己要疯掉了,这么简单一个数据传递,居然不对!!!!!
加上调试信息,发现主界面通过emitter收到的图像数据长度居然是10239!!!!发出来的是个300多K的数据,传过来只有10K,查了官方资料并没有特殊说明,只能猜想是emitter最大只能传输10K的数据,毕竟这是个消息订阅机制,大数据还是postMessage比较好。
记录一下,避免以后再踩坑。