我的应用程序旨在从嵌入式蓝牙设备获取消息。当我使用每秒或更多发送数据的传感器时,将意图广播到活动并不是什么大问题。唯一可见的减速是蓝牙设备刷新其缓冲区时。现在我需要处理高刷新率传感器(例如心电图,每 2 毫秒),所以我必须更清楚一点,因为意图的数量使得可视化不是实时的(输入的测量比显示的多)。
我尝试putIntegerArrayListExtra()
每 2 秒发送一次数据,但现在我得到了ANR。
有人可以建议我处理很多意图吗?(看来我的服务记忆也长大了很多)。
要绕过意图,我必须将对象从服务发送到活动。就我现在而言,这是不可能的,也是原因Intent
。
编辑:
我低估了约束力。事实上,它使活动能够从服务中获取一个“ DeviceDriver
”实例,该实例注册侦听器以执行回调。因为我可以在活动中检索驱动程序的实例,所以我可以将其注册为侦听器并减少服务和活动之间的所有意图(至少对于数据交换)。