본문 바로가기
Android

[Android] Keep the cpu on. WAKE_LOCK. 절전모드 방지

by bryan.oh 2019. 9. 6.
반응형

 

 

화면이 계속 켜져 있어야 하고 뭔가 CPU작업을 하고 있을 때, 

절전모드로 빠지면 작업이 진행되지 않습니다.

이때 CPU작업을 유지하기 위해 WAKE_LOCK 을 사용합니다.

주의해야할 점은 작업을 시작하기 전에 

wakeLock.acquire(); 를 호출하고

작업이 끝난 후에

wakelock.release(); 를 호출해야 배터리가 빨리 소모되지 않습니다.

 

일단 AndroidManifest.xml 에 권한을 추가합니다. WAKE_LOCK

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.oh.bryan.faceetiquette">

    <uses-permission android:name="android.permission.WAKE_LOCK"/>

    <application ... />
</manifest>

 

// TODO Permission posting

일단 Permission 을 받았으면

PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
        "MyApp::MyWakelockTag");
wakeLock.acquire();

이렇게 사용하면 됩니다.

위에서 언급했듯이 이 작업이 끝나면 

wakeLock.release();

를 호출해야 합니다. 

그래야 이 후 CPU가 필요로 하지 않을 때 배터리를 절약 할 수 있습니다.

 

CPU 작업을 필요로 하지 않는 상황에서는 WAKE_LOCK 을 사용하지 말고 KEEP_SCREEN_ON 을 사용하면 됩니다.

2019/09/06 - [Android] - [Android] 화면 꺼지지 않게 하기. KEEP SCREEN ON

 

 

1초 로또 15장 이상 당첨확인!
"개발인생" 블로거의 안드로이드 앱 -> Google play

 

로또버스 LOTTO BUS - Google Play 앱

1. 멀티스캔 당첨확인 GPU를 이용한 인공지능 당첨확인 기존 앱들과 비교할 수 없는 속도 ! 멀티스캔으로 가장 빠르게. 2. 당첨이력을 분석한 추천 번호 생성이 무료 Oracle Cloud에서 매주 Python 통계/분석. 마음에 드는 분석기능을 선택하여 번호생성. 분석 가중치에 따른 번호 추출. 3. 심플한 내 번호 관리 꿈에서 본 그 번호! 바로 저장하세요. 스캔했던 로또 번호가 이력에 자동 저장

play.google.com

 

728x90
반응형

댓글