2016-06-09 2 views
0

Google에서 제공 한 BluetoothLeGatt 샘플 프로젝트를 기반으로 Android 기기를 개발 중이며 BLE 데이터를 다른 기기와 교환합니다. Android 4.3 (API 18 - Samsung Galaxy S3)에서 실행 된 테스트는 정상적으로 작동했지만 Android 6.0 (API 23 - HTC One M8)에서 테스트했을 때 중요한 성능 문제가 있음을 발견했습니다. 알림을 통해 수신 된 데이터를 일시적으로 표시합니다.최근 Android 버전에서 BLE 성능 문제가 발생했습니다.

HTC가 더 효율적이라고 가정하면 최신 Android API에서 BLE 구현이 이루어 졌습니까? 아니면 오래된 샘플 프로젝트입니까?

미리 도움을 주셔서 감사합니다.

+0

또한 검색 /보고 완료 횟수에 따라 달라질 수 있습니다. 별도의 스레드에서 BLE을 실행하면 어떻게됩니까? –

+0

API 레벨 19 (kitkat)에서 코드를 시험해보십시오. –

+0

GATT 서버는 앱에 알림을 50ms마다 보냅니다. 지금은 별도의 스레드가 아닌 Google 프로젝트의 BluetoothLeService 클래스를 사용합니다. 별도의 스레드에서 실행하는 방법을 잘 모르겠습니다. 나는 API 19를 사용하려고한다. 의견을 보내 주셔서 감사합니다. –

답변

0

마지막으로 해결책을 찾았습니다. 사실이 문제는 Android의 "중앙 역할"측면에서 나온 것이 아닙니다. 그것은 6 초 후에 자동으로 연결 매개 변수를 업데이트하는 TI SensorTag가 수행하는 "주변 역할"측면에서 비롯된 것으로 저전력 모드 (연결 간격이 길어짐) 아래로 이동합니다. 6 개월 후 ... 결코 늦지 않았습니다!

관련 문제