2013-06-12 3 views
2

에 대해 권장되는 접근 방식/패턴은 무엇입니까 큰 액티비티와 원격 서비스 사이의 데이터 덩어리가입니까? 수신 할 활동이 원하지 않은 데이터이며 HashMaps에 포함되어 있습니다 (<Object, List<OtherObject>>). Parcelable은 나에게 잔인한 잔인한 것 같습니다. 또 다른 방법이 있습니까? 아, 그리고이 교환은 4 초마다 일어납니다. 평균적으로.액티비티와 원격 서비스간에 많은 데이터 교환

+0

왜 서비스가 원격입니까? – CommonsWare

+0

서비스의 데이터는 어떤 형식입니까? –

+0

서비스가 원격입니다. 왜냐하면 꽤 많은 계산을하기 때문에 다른 스레드에서 실행되기를 원하기 때문입니다. 데이터는 실제로 wifi 신호 강도입니다 (내역 및 지문은 다양한 알고리즘을 기반으로 한 기록에서 생성되고 지문은 데이터베이스의 지문으로 생성됩니다). 기본적으로 수집 한 wifi 데이터를 기반으로 내 위치를 결정하려고합니다. 그리고 데이터를 그래프로 표시해야합니다. 그렇지 않으면 이해하기가 어렵습니다. :) –

답변

1

안드로이드에서 프로세스간에 큰 데이터 덩어리를 교환하는 가장 효율적인 방법은 ashmem입니다. ashmem - MemoryFile에 대한 Java 래퍼가 있지만 다소 혼란 스럽습니다. 프로세스간에 구분 가능한 파일 설명자를 전달해야합니다.이 부분을 참조하십시오. SO post

그러면 데이터를 해당 "파일"로 직렬화하여 직렬화 해제 할 수 있습니다 다른쪽에.

0

4 초마다 데이터를 새로 고쳐야합니까? 그것은 나에게 야심 차게 보인다. 어떤 경우 든 저장하려는 양식을 고려해야합니다. 효율성에 초점을 맞춰야합니다. 가능한 "메타 데이터"로 다운로드하고 캐시하십시오.