7

我的应用程序旨在从嵌入式蓝牙设备获取消息。当我使用每秒或更多发送数据的传感器时,将意图广播到活动并不是什么大问题。唯一可见的减速是蓝牙设备刷新其缓冲区时。现在我需要处理高刷新率传感器(例如心电图,每 2 毫秒),所以我必须更清楚一点,因为意图的数量使得可视化不是实时的(输入的测量比显示的多)。

我尝试putIntegerArrayListExtra()每 2 秒发送一次数据,但现在我得到了ANR

有人可以建议我处理很多意图吗?(看来我的服务记忆也长大了很多)。

要绕过意图,我必须将对象从服务发送到活动。就我现在而言,这是不可能的,也是原因Intent

编辑:

我低估了约束力。事实上,它使活动能够从服务中获取一个“ DeviceDriver”实例,该实例注册侦听器以执行回调。因为我可以在活动中检索驱动程序的实例,所以我可以将其注册为侦听器并减少服务和活动之间的所有意图(至少对于数据交换)。

4

2 回答 2

0

在您的情况下,我建议您不要使用意图。尝试在活动或共享内存和同步中使用线程。

于 2012-08-07T11:32:13.540 回答
0

您还可以使用绑定将数据从服务传递到意图:http: //developer.android.com/guide/components/bound-services.html

于 2012-08-07T11:32:38.703 回答