2013-07-30 7 views
1

매 x 분마다 웹 서버에 데이터를 보내야하는 앱을 작성 중입니다. 여기서 x는 웹 서버 응답을 통해 변경할 수있는 값입니다.Wakelocks의 대안?

지금 당장 x 분 동안 휴면 상태의 백그라운드 스레드를 사용하고 주 스레드에게 데이터 전송을 알립니다.

그러나 CPU 절전으로 인해이 방법에 문제가있어 스레드 수면 시간에 영향을 미치는 것으로 보입니다.

wakelocks에 대해 읽었으며 부분적으로 wakelock을 구현할 수 있다고 생각합니다. 그러나이 앱의 핵심 기능 중 하나는 배터리를 절약하는 것이므로 전반적인 wakelocks가 적합하지 않습니다.

그래서 매 x 분마다 특정 로직이 항상 백그라운드에서 실행되도록하는 wakelocks에 대한 대안이 있는지 궁금 해서요. 이상적으로 CPU가 필요할 때만 깨어 났습니까?

미리 감사드립니다.

+0

하드 간격을 설정하려면 AlarmManager를 사용하십시오. 장치가 잠자기 상태이면 장치를 깨울 것입니다. 앱이 작업을 마친 후에 기기가 잠들지 않고 놓아 두지 않도록 잠시 기다리십시오. –

답변