最近做一个关于闪光灯的Flash的项目(类似摩尔斯密码传递方式),属于需要精确到毫秒级的应用,尝试的做法:
Android:
1.在主线程中调用Flash,经过多次实验,传递的字节数,基本对不上,分析原因:主线程被阻塞。
2.在子线程中调用Flash,经过测试,不稳定,偶尔能正确,分析原因(结合下面的测试方法):可能是子线程调用硬件的优先级没有主线程优先。
3.在子线程中用Handler发送消息给主线程处理,调用Flash,经过实验,此方法对于Android的系统 没有问题,能够正常发送,硬件接收端也能接收正常。
IOS:
1.iPhone 4在iso 6系统上测试,所有操作都是在主线程中,但是都没有问题。
2.iPhone 4S 在ios 7 系统上测试,出现了延迟,但是调用放在子线程中问题依旧。
3.iPhone 5S 在ios 7系统上测试 效果好于4S 。
以上情况没有在软件上解决,最终在硬件端,错后校验时间,解决了此问题。
我觉得有句话说的很对:write the code ,change the world