2012-08-27 2 views
0

방금 ​​데이터를 서버와 동기화하는 앱을 완료했습니다 (백그라운드에서 SyncAdapter 실행). 휴대 전화에 설치 한 후 백그라운드에서 실행되도록했습니다 (휴대 전화 사용률이 거의 없음). 응용 프로그램의 배터리 사용량 중 23 %가 내 앱에 속해 있다는 사실을 알게되었으므로 배터리 사용량을 줄여야합니다.Android 앱 : 배터리 사용량 감소

지금 동기화 시간을 30 초로 설정했습니다. 그것은 다중 사용자 응용 프로그램이며 다른 사용자가 알림을 받으면 동기화 시간을 너무 높게 설정할 수 없습니다 (사실 배터리 사용량을 알기 전까지는 줄이고 싶었습니다).

항상 동기화 할 때마다 서버에 변경 사항을 요청하고 로컬 데이터베이스의 변경 사항을 확인합니다. 로컬 데이터베이스에 변경 사항이있는 경우 해당 변경 사항은 서버로 보내지고 서버에서 변경 사항을 검색하면 로컬 데이터베이스에 적용됩니다.

배터리 사용량을 줄이는 데 도움이되는 팁이 있습니까?

답변

6

... 당신이 정말로 자주, 내가 당신을 위해 어떤 마술 트릭이 표시되지 않는 네트워크를 요청해야하는 경우, 그러나 http://developer.android.com/training/efficient-downloads/index.html

: 나는 당신이 구글에서이 기사를 읽고 추천 폴링 대신 푸시를 사용하여 GCM (Google Cloud Messaging)을 구현하는 것입니다.

이런 식으로 뭔가 새로운 일이 생기면 "간질"을 얻을 수 있으며 서버에 데이터를 요청할 때 알 수 있습니다.

+0

정확히 게시하고 싶습니다. – dragostis

+0

GCM에 대해 알지 못했지만 사용하려고합니다. 가능한 한 빨리 답변을 수락하겠습니다. 감사! –

+0

감사. 나는 그것을 구현하려고 노력 했음에도 불구하고 몇 가지 어려움을 겪었습니다. 그것은 가장 좋은 방법이지만 가장 쉬운 방법은 아닙니다 (최소한 나에게는 그런 것이 아닙니다). – Enrichman

1

각 네트워크 폴링은 매우 공격적입니다. 최고의 아마 당신이 할 수있는