2012-08-07 4 views
7

내 앱은 내장 된 블루투스 기기에서 메시지를 가져 오는 디자인입니다. 데이터를 초당 또는 그 이상으로 보내는 센서로 작업하는 동안 활동에 의도를 알리는 것은 그리 큰 문제가 아니 었습니다. 블루투스 장치가 버퍼를 플러시 할 때만 느려졌습니다. 이제 새로 고침 빈도 센서 (예 : ECG, 2ms마다)를 처리해야하므로 인 텐트의 수가 실시간으로 표시되지 않으므로 (더 많은 측정 값이 표시되는 것보다 많기 때문에) 조금 더 연마해야합니다.많은 의도를 가진 Android 거래

putIntegerArrayListExtra()으로 2 초마다 데이터를 보내려고하지만 이제는 A.N.R이 표시됩니다.

누군가 내게 많은 의도를 다룰 것을 조언 할 수 있습니까? (내 서비스 기억도 커질 것 같습니다.)

의도를 우회하려면 서비스에서 활동으로 개체를 보내야합니다. 지금까지는 이것이 불가능하며 이유는 Intent입니다.

편집 :

나는 과소 평가했다. 실제로 이것은 액티비티가 콜백을 수행하기 위해 리스너를 등록하는 "DeviceDriver"의 인스턴스를 서비스에서 가져올 수있게합니다. 액티비티에서 드라이버의 인스턴스를 검색 할 수 있으므로이를 리스너로 등록하고 서비스와 액티비티 간 (최소한 데이터 교환의 경우) 모든 인 텐트를 줄일 수 있습니다.

답변

0

또한 의도 서비스에서 데이터를 전달하기 위해 바인딩을 사용 할 수 있습니다 http://developer.android.com/guide/components/bound-services.html

+0

바인딩 프로세스 간 통신을위한 방법이다. –

+0

그리고 그의 문제를 해결할 수 – ligi

+0

일하는 것은 어떨까요? 의도보다 빨리 작동합니까? –

0

귀하의 경우에는 의도를 사용하지 말라고 조언합니다. 활동 내에서 스레드를 사용하거나 메모리 및 동기화를 공유하십시오.

관련 문제