2012-01-27 2 views
4

나는 안드로이드 응용 프로그램을 개발 중이며 전력 소비를 줄이려고합니다. 내가 믿는 방법은 특정 임계 값 기간 동안 사용자 활동이 멈출 때마다 전화를 절전 모드로 전환하는 것입니다. 나는 이것에 관해 세 가지 질문을한다.Handler.sendMessageDelayed()는 휴대 전화가 절전 모드로 전환 될 때 작동합니까?

  1. wakeLock을 릴리스하고 전화기가 잠자기 상태가 될 때까지 다른 응용 프로그램이 wakeLock을 보유하고 있지 않습니다?

  2. sendMessageDelayed() 함수를 사용하는 곳에서 여러 HandlerThread가 실행됩니다. 전화가 절전 모드로 전환 된 후에도 이러한 메시지가 전달됩니까?

  3. 휴대 전화를 비행기 모드로 설정하면 휴대 전화를 잠자는 것보다 더 많은 전력을 절약 할 수 있습니까? 그렇다면 두 가지 모드의 유일한 차이점은 셀룰러 네트워크 사용이기 때문입니다.

답변

3

나는 가동 잠금 및 다른 응용 프로그램에서 전화가 잠을 얼마나 많은 시간 후 가동 잠금을 들고 놓으면?

실제로 확실한 대답은 없지만 개인적인 경험으로 볼 때 30 초에서 1 분 이내에 발생할 가능성이 높습니다.

sendMessageDelayed() 기능을 사용하는 곳에서 여러 HandlerThreads가 실행되고 있습니다. 전화가 절전 모드로 전환 된 후에도이 메시지가 으로 배달 되나요?

내가 메시지를 보낸 장치를 깨울 것이라고 말하는 것을 본 적이 없기 때문에 나는 정말로 의지하지 않을 것입니다. 당신은 언제나 그것을 테스트 할 수는 있지만 문서가 그것을 주장하지 않기 때문에 나는 그것을 믿지 않을 것입니다.

휴대 전화를 비행기 모드로 전환하면 휴대 전화를 그냥 켜기보다 전력을 더 많이 절약 할 수 있습니까? 그렇다면 그 이유는 무엇입니까 그 두 가지 모드의 유일한 차이점은 셀룰러 네트워크의 사용 때문입니다.

슬립 모드와 비행기 모드로 설정하면 JUST (절전) 모드보다 배터리가 절약됩니다.

그 이유는 CPU가 거의 잠자고 있어도 휴대 전화가 텍스트 또는 전화를 받았는지 여부를 알기 위해 휴대 전화 네트워크와의 지속적인 연결을 유지해야하기 때문입니다. 이렇게하려면 안테나를 계속 켜두기 위해 배터리를 사용해야합니다. 비행기 모드로 전환하면 기본적으로 안테나가 꺼지고 휴대 전화는 그 기능을 위해 배터리를 사용하지 않게됩니다.

+0

감사합니다. Jakar. 질문 2와 질문 3에 답해 준 참고 문헌을 제공해 주시겠습니까? – crazyaboutliv

+0

질문 3에 대해서는 참조를 사용하지 않았습니다. 난 그냥 논리적으로 보았다 - 전화가 뭔가 다른 것을 유지해야한다면, 더 많은 배터리를 사용해야한다. 질문 2의 경우 절전 모드에 대한 설명서가 없지만 [이 페이지] (http://developer.android.com/reference/android/os/Handler.html)에서 읽었으며 장치. 장치를 안정적으로 깨우는 유일한 방법은 RTC_WAKEUP으로 'BroadcastReceiver'에 설정된 'Alarm'입니다. – Jakar

+0

좋은 대답, 그것은 화면을 끌 때 sendMessageDelayed()가 작동하지 않는 이유를 설명합니다. –

관련 문제