2016-07-28 4 views
0

몇 가지 정황을 말하자면 : 나는 안드로이드 애플 리케이션의 모범 사례의 에너지 소비를 측정하려고합니다. 화면을 켜기 위해 WakeLock을 사용하는 앱을 리팩터링했고 대신 깃발 FLAG_KEEP_SCREEN_ON을 사용합니다. 놀랍게도, 나는 에너지 소비에 대해서 정말로 작은 향상 만이있을 수있다.기기가 전원에 연결되어있을 때 안드로이드는 WakeLock에 대해 다른 행동을합니까?

CPU가 저전력 상태가 될 것으로 예상하여 에너지를 적게 소비했습니다.

이러한 조건에서 CPU 전원 관리에 대해 다른 동작이 있습니까? 아니면이 FLAG를 사용하는 것이 효과가 있습니까?

전원에 연결해야하는 ODROID-XU 장치로 측정하고 있습니다. 안드로이드 버전은 4.2.2이다 - API 레벨 17

+0

afaik 활동에서'FLAG_KEEP_SCREEN_ON' 플래그의 유일한 이점은 wakelock 권한이 필요 없다는 것입니다. – Dodge

+0

여기의 관련 메모 : [SCREEN_BRIGHT_WAKE_LOCK] (https://developer.android.com/reference/android/os/PowerManager.html#SCREEN_BRIGHT_WAKE_LOCK) 및 [SCREEN_DIM_WAKE_LOCK] (https://developer.android.com/ reference/android/os/PowerManager.html # SCREEN_DIM_WAKE_LOCK) – Dodge

+1

또한 : 화면이 켜지 자마자 CPU가 켜져 있습니다. 그래서 더 적은 에너지를 소비하는 데 도움이되지 않지만 잠자기 후 잠김 권한을 피하려면 – Dodge

답변

0

이 문제에 대한 이전의 의견을 토대로이 문제에 대한 조사를 한 후에 나에게 명확한 설명을 발견했습니다.

다음 기사는 더 이상 필요가 없을 때 가동 잠금이 제대로 해제되어 있는지 확인하기 위해 사용하는 방법을 설명합니다 http://vliux.me/android/android-power-consumption-and-wakelock/

저자는 가동 잠금의 사용이 쉬운 일이 아니라고 설명 배터리를 소모시킬 수있는 오류가 발생하기 쉽습니다. 플래그 FLAG_KEEP_SCREEN_ON을 사용할 때 시스템 (WindowManager)이 우리를 위해 잠금을 처리합니다. 따라서 우리는 Wakelock이 적절하게 릴리스 될 것임을 확인합니다.

@Dodge에서 언급 한 바와 같이 FLAG_KEEP_SCREEN_ON 플래그를 사용하면 특별한 권한이 필요하지 않습니다.

이것은 다음 답변에서도 지원됩니다 : https://stackoverflow.com/a/4376967/1228682.

참고 : FLAG_KEEP_SCREEN_ON의 사용을 제안하는 잘못된 잠자기 잠금 사용에 대한 보풀 점검이 있습니다. lint docs : http://tools.android.com/tips/lint-checks에서 "Wakelock"을 찾으십시오.

0

다음은 큰 차이를 찾지 못했습니다 이유

WakeLock 장치의 화면이 꺼져있을 때 FLAG_KEEP_SCREEN_ON를 사용할 때 동안 절전 모드로 전환 장치를 방지입니다 디스플레이도 애플 리케이션과 함께 전원을 사용하고, 그것은 합리적인 금액의 힘이 걸리는 날 믿어.

따라서 결과는 거의 같지만 FLAG_KEEP_SCREEN_ON을 사용하면 UX가 좋지 않을 수 있습니다.