2013-03-28 2 views
0

Android에서 근거리 알림 기반 애플리케이션을 구축했으며 예상대로 잘 작동하고 알림을 완벽하게 실행합니다.매우 많은 수의 근접 경고를 처리하는 방법은 무엇입니까?

계속 노력하면서이 응용 프로그램의 확장 성 측면에 대해 설명하고자합니다. 그래서 본질적으로 나는 각 사용자가 10-20 개의 카테고리를 말하기 위해 가입 할 수있는 시나리오를 다루려고하고 있으며 각 카테고리는 특정 도시에서 100 개의 POI (쇼핑과 같은 관심 장소)를 가질 수 있습니다. 따라서 총 2000 건 이상의 경고가 사용자의 전화에 즉시 등록되어야합니다.

이이 개 결과를 가지고 : 느린 연결을 통해로드하는 동안 가입자가 10 ~ 20의 MIB 크기에있을 안드로이드 장치에 중단 될 수 있습니다에 대한

  1. 저장소에서 웹을 통해 2000 경고를 가져 오기를.
  2. 모든 경고가로드 되더라도 장치의 메모리가 많이 소모됩니다.

이 문제를 완화하기 위해이 앱을 적절하게 조정하는 전략을 찾고 있습니다. 현재 위치에 대한 확장 된 정보를 찾고 킬로미터의 경계 내에서만 경보를로드하는 방법을 요청할 수있는 방법이 있습니까? 또는이 요구 사항을 처리하기위한 다른 권장 전략. 이 점에서 코드 샘플은 웹 서비스를 조회하고 전달의 위도와 경도의 1 명 정도에서 가입 모든 위치를 반환해야 SIMPLE- Biplab

+0

문제를 이해하고 있지만 무엇을 시도 했습니까? – minhaz

+0

minhaz - 현재 사용자가 로그인 할 때 모든 경고가 서버에서 웹 서비스를 통해 앱으로 푸시됩니다. 시나리오의 경우 많은 경고를 던지면서 앱을 테스트하지는 않았지만 –

답변

0

왜에게 ... 뭔가를

감사합니다, 잘 될 것입니다 위치 (사용자의 위치). 그런 다음 알람을 통해 30 분마다 클라이언트의 위치를 ​​확인하고 새 위치를 기반으로 새 목록을 쿼리하십시오.

+0

동의합니다. @OP 플러스 사이드 노트 : 사용자가 앱을 사용하기 시작하면 DB는 0입니다. 그는 필요한 POI를 만들 수 있으며 앱은 서버와 데이터를 동기화합니다. 그가 잠시 동안 웹 버전을 사용하고 있고 이제 Android 앱을 설치하려는 경우 전체 DB를 휴대 전화와 동기화하는 옵션을 보여줍니다. 안드로이드에서 SQLite로 2,000 개의 레코드를 쿼리하는 데는 시간이별로없고, 몇 초만 걸립니다. 이 앱 [RL Benchmark : SQLite] (https://play.google.com/store/apps/details?id=com.redlicense.benchmark.sqlite)으로 테스트 할 수 있습니다. –

+0

@ Gabe - 답장을 보내 주셔서 감사합니다. 그리고 제가 언급 한 접근 방식에 대해 생각해 보았습니다. 그러나 아직 코드를 실행하고 적시성과 정확성을 확인하지 않았습니다. 30 분 후에는 실제로 확인할 수 없습니다. 사용자가 이동 중이라는 것을 고려하면 그 시간까지 여행을 많이하게 될 것이기 때문입니다. 오히려 거리를 경보로 새로 고치는 요인으로 사용할 수 있다고 생각합니다. 하지만 알림을 등록 취소하면 제대로 작동합니까? 일정한 등록/등록 취소로 인해 문제가 발생하지 않습니까? –

+0

@ Lai - 답장을 보내 주셔서 감사합니다. 나는 DB 레코드와 대기 시간을 가져 오는 것에 대해 정말로 걱정하지 않는다. 그러나 GPRS (2G)와 같은 느린 연결을 말하는 이상 2000 + 이상한 경보 데이터를 전화로 가져 오는 데는 시간이 걸립니다. 그 외에도 다른 관심사는이 2000 개의 경고를 한번에로드/등록하는 것입니다 - 메모리 및 배터리 배수에 어떤 영향을 미칩니 까? –

관련 문제