Android 대기 모드는 많은 에너지를 소비합니다. 배터리를 너무 많이 소모하는 앱을 확인하고 이에 대한 조치를 취하는 방법

iOS 및 Windows Phone과 달리 Android는 백그라운드에서 실행되는 많은 앱과 서비스를 가질 수 있습니다. 이들 모두는 RAM과 프로세서에 추가 부하를 생성하며 이는 귀중한 에너지를 낭비한다는 의미입니다. 또한 필요하지 않은 경우에도 작동합니다. 예를 들어 밤에 자고 있는 동안에도 작동합니다.

Android 애플리케이션이 장치 리소스를 과도하게 소비하는 문제를 해결하는 방법에는 여러 가지가 있습니다. 시스템 부팅 시 거의 사용하지 않는 애플리케이션이 시작되는 것을 금지하거나 보다 근본적으로 Wi-Fi, 모바일 인터넷 및 대부분의 백그라운드 프로세스를 끄는 것입니다.

1. Google Play에서 설치하고 실행합니다.

2. Phone Boost 섹션으로 이동하여 "자동 시작 관리자" 버튼을 클릭하면 장치를 켤 때 실행되는 모든 애플리케이션이 표시됩니다.

3. 목록을 검토하고 항상 백그라운드에서 실행되어서는 안 된다고 생각되는 응용 프로그램의 자동 실행을 비활성화합니다.


이제 시스템 설정으로 이동하여 실행 중인 응용 프로그램 관리자를 열고 가까운 시일 내에 필요하지 않을 응용 프로그램을 닫습니다.


화면이 꺼질 때 장치를 최대 절전 모드로 전환하는 애플리케이션을 사용하면 더욱 심각한 리소스 절약을 달성할 수 있습니다. 그러한 응용 프로그램 중 하나가 입니다. 이를 통해 3G 모듈, 인터넷, Bluetooth, 데이터 동기화를 비활성화하고 백그라운드 프로세스의 작동을 크게 제한할 수 있습니다.

Deep Sleep 배터리 세이버 사용 방법:

1. Google Play에서 설치하고 실행한 후 루트 권한을 부여하세요.

2. 원하는 경우 인터페이스 언어를 러시아어로 변경합니다.


3. "프로필" 탭으로 이동하여 장치 화면이 꺼지면 어떻게 되는지 선택하세요. 절감액이 엄격할수록 장치 리소스가 덜 소비됩니다.

익숙한 상황입니다. 스마트폰 화면에서 일부 정보를 읽고 있는데 그 순간 디스플레이가 어두워집니다. 읽는 데 몇 초가 아니라 훨씬 더 많은 시간이 걸린다면 어떨까요? 가볍게 말하면 전원 버튼을 계속 누르는 것이 짜증나는 것이 분명합니다.

Android 화면이 어두워지는 것을 방지하는 방법은 무엇입니까? 상황은 보이는 것만큼 심각하지 않은 것으로 밝혀졌습니다. 이 문제를 해결하는 방법에는 여러 가지가 있습니다. 지금 이에 대해 이야기하겠습니다.

사전 설치된 도구를 사용하여 휴대전화 화면이 꺼지는 방식을 조정하려면 ' 설정", 섹션 열기 " 화면", 항목을 선택하십시오" 절전 모드"그리고 스마트폰이 편안하게 "깨어 있는" 시간을 설정하면 화면이 어두워지거나 해당 라인을 확인하여 절전 모드를 완전히 제거합니다.

타사 소프트웨어를 사용하여 화면 시간 초과를 비활성화하는 방법

왜 "절전 모드" 기능이 필요한지, 일정 시간이 지나면 화면이 꺼지는지(영어에서 시간 초과 - 시간 초과)에 대해 너무 자세히 설명할 가치가 없다고 생각합니다. 스마트폰이 지속적으로 활성 모드에 있으면 배터리 충전량이 너무 빨리 0이 되는 경향이 있다는 것이 분명합니다.

이 경우 특수 유틸리티를 사용하여 문제를 쉽게 해결할 수 있습니다.

데모 중 화면 유지

이 프로그램은 사용자가 화면을 보고 있는 동안 화면이 어두워지는 것을 방지합니다. Hold Screen ON은 전면 카메라를 사용해 시선을 포착해 스마트폰이 잠들지 않도록 해줍니다. 화면보기를 멈추면 화면이 희미해지고 그에 따라 리소스 소비도 멈춥니다.

유틸리티의 작동을 특정 애플리케이션에 바인딩할 수 있으며, 이 애플리케이션에서는 휴대폰 화면이 어두워지지 않아 눈을 식별할 수 있습니다. 그러나 카메라가 다른 애플리케이션에서 작동하는 경우 프로그램은 해당 애플리케이션이 작동할 때까지 기다려야 합니다. 무료입니다.

Samsung Galaxy S3 소유자는 유틸리티를 설치하지 않고 이 기능을 사용합니다. 이 모델에는 기본적으로 이 기능이 있고 더 간단한 장치가 있는 경우 Hold Screen ON을 다운로드하면 됩니다.

KeepScreen(현재 무료)

시간 초과를 비활성화하는 훌륭한 작업을 수행하는 또 다른 좋은 응용 프로그램입니다. 이전과 달리, 화면 유지내장된 자이로스코프를 사용하여 장치의 위치를 ​​제어합니다. 따라서 가젯을 손에 쥐면 유틸리티는 수평 축에 대한 경사각을 고려하여 화면이 어두워지는 것을 방지합니다.

또한 선택한 애플리케이션에 대해 Android 장치의 화면이 꺼지는 것을 차단하는 기능도 있습니다. 이렇게 하려면 원하는 프로그램을 지정한 후 " 서비스 시작/중지"라고 입력하고 휴대폰의 화면 어둡게 하기 센서(첫 번째 스크린샷 참조)에서 간격을 30초로 설정합니다.

Keep Screen은 스마트폰의 리소스를 관리하고 백그라운드에서 작동합니다. 이렇게 하려면 " ~에", 그리고 나서 " 앱 저장 및 다시 시작».

중요한! 프로그램 실행 중에 전원 버튼을 이용하여 기기를 끄(잠금)하면 30초 후에 화면이 켜지고 꺼지지 않습니다. 따라서 전원 버튼으로 가젯을 잠그기 전에 애플리케이션을 닫거나 기본 데스크톱으로 돌아가야 합니다.

오늘 주제에 대해서는 더 이상 추가할 내용이 없으며, 제시된 정보가 얼마나 유용했는지는 물론 판단하실 수 있습니다. 행운을 빌어요!

스마트폰은 최소한의 시간으로 다양한 작업을 해결할 수 있는 보편적인 장치입니다.

동시에 작동 특성으로 인해 이 장치에는 상당한 에너지가 필요하므로 배터리 용량이 매우 중요한 요소입니다. 하지만 뚜렷한 이유 없이 요금이 매우 빨리 소모되는 경우가 종종 있습니다.

오늘날 거의 모든 사람이 스마트폰과 같은 기기를 가지고 있습니다. 모든 잘 알려진 브랜드는 상당히 높은 품질의 제품을 제공합니다. 그러나 그녀조차도 무너지는 경향이 있습니다.

스마트폰이 빨리 방전되는 이유를 이해하려면 작동 시간에 영향을 미치는 요인이 무엇인지 정확히 관찰할 필요가 있습니다. 결함은 실험적으로 결정될 수 있습니다.

어떤 이유로든 결함을 찾을 수 없는 경우 문제 유형의 문제를 해결하기 위해 표준 방법을 시도해 볼 가치가 있습니다.

원인과 해결책

대부분의 경우 Android 운영 체제의 가젯은 다음과 같은 이유로 배터리 전원을 매우 빨리 잃습니다.


위에 표시된 급속 방전 이유는 매우 일반적이므로 이를 제거하려면 복잡한 조작을 수행할 필요조차 없습니다.

라이브 배경 화면

작업 화면과 그 화면에서 발생하는 다양한 프로세스는 프로세서 부하에 심각한 영향을 미칩니다. 크기가 클수록 배터리 에너지가 더 빨리 소모됩니다. 더욱이, 때때로 이러한 벽지의 작동으로 인한 방전율이 1/3까지 증가합니다.

라이브 배경화면은 두 가지 유형이 있습니다.


두 경우 모두 외부 도움 없이도 상황을 아주 간단하게 해결할 수 있습니다.

라이브 배경화면이 표준으로 설정된 경우 다음을 수행할 수 있습니다.

  • "설정"을 엽니다.
  • "화면" 항목을 클릭합니다.
  • "배경화면" 섹션을 선택하세요.
  • 애니메이션 없이 표준 배경화면을 활성화합니다.

데스크탑에 애니메이션을 생성하는 특수 응용 프로그램을 설치한 경우 해당 응용 프로그램을 제거하기만 하면 됩니다.

이렇게 하려면 다음이 필요합니다.


가속도계 센서

오늘날 고려중인 장치는 다양한 문제를 해결할 수 있는 다양한 기능으로 가득 찬 실제 통신 결합체입니다.

거의 모든 장치에는 가속도계가 있어서 가속도는 물론 지면에 대한 장치의 위치도 측정할 수 있습니다. 그러나 이를 사용하면 프로세서의 부하가 증가합니다.

이 장치 때문에 배터리가 매우 빨리 소모될 수 있습니다.

이 센서를 끄고 방전율을 줄이려면 다음을 수행해야 합니다.


백그라운드 애플리케이션 닫기

화면 바로 다음 중앙 프로세서(특히 멀티 코어인 경우)는 전력을 가장 많이 소모하는 장치입니다. 데이터 처리에는 버스와 CPU 자체에서 높은 전압을 유지해야 하기 때문입니다. 결과적으로 동시에 실행되는 애플리케이션이 많으면 배터리 에너지가 매우 빠르게 감소합니다.

실행 중인 다양한 유형의 프로그램을 닫으려면 다음을 수행해야 합니다.

  • "설정" 메뉴를 엽니다.
  • "응용 프로그램"을 선택하십시오.
  • "작업"섹션을 활성화하십시오.

열리는 목록에서 현재 특정 순간에 필요하지 않은 유틸리티를 선택해야 합니다. 그런 다음 원하는 아이콘을 클릭하고 중지하십시오. 이를 위해 "중지"라는 문구가 있는 특수 버튼이 있습니다. 때때로 타사 개발자의 일부 제품은 배터리 예비량의 최대 50%를 소모합니다.

밝기 설정

디스플레이의 소비량이 가장 높습니다. 이 구성 요소는 유형에 관계없이 백라이트가 켜져 있으므로 작동 중에 항상 빛을 방출합니다. 덕분에 사용자는 어둠 속에서도 화면에 나타나는 모든 것을 쉽게 구분할 수 있습니다. 하지만 밝을수록 배터리 소모가 빨라집니다.

스마트폰 배터리가 빨리 소모되는 등의 문제는 디스플레이 밝기를 낮추는 것만으로도 해결되는 경우가 많다.

Android 운영 체제를 실행하는 모든 장치에서 이 작업은 다음과 같이 수행할 수 있습니다.

  • 손가락을 사용하여 작업 화면을 아래로 내리세요.
  • 메뉴 상단에 "밝기"라는 아이콘이 있습니다.
  • 긴 슬라이더가 열리며, 이동하여 광선의 강도를 조정할 수 있습니다.

밝기를 조금 낮추거나 0으로 줄이면 배터리 충전량을 최대 100%까지 절약할 수 있습니다. 또한 디스플레이를 사용할 필요가 없을 때는 항상 디스플레이를 꺼야 합니다.

비디오: 배터리가 빨리 소모되는 경우 어떻게 해야 합니까?

통신 설정

어떤 경우에는 장치의 전원을 절약하기 위해 일부 통신 프로토콜을 비활성화하기만 하면 됩니다. 예를 들어 GPRS/3G/LTE입니다. 이러한 유형의 연결을 지원하는 작동 모듈로 인해 배터리가 문자 그대로 우리 눈앞에서 녹을 수 있기 때문입니다. 종종 끄는 것만으로도 충분합니다. 이렇게 하면 가젯을 네트워크에 훨씬 덜 자주 연결할 수 있습니다.

다양한 통신 모듈의 작동이 아주 간단하게 꺼집니다. 화면 상단에 있는 작업 표시줄을 열고 해당 아이콘을 클릭하기만 하면 됩니다. 해당 아이콘 아래의 백라이트가 사라져야 합니다.

무선 기술 끄기

종종 구매 직후 행복한 휴대폰 소유자는 무엇이 잘못되었는지 이해하지 못합니다. 새 배터리는 우리 눈앞에서 방전됩니다. 그러나 이에 대한 눈에 띄는 이유는 없습니다. 화면 밝기가 최소이고 가장 필요한 배경 응용 프로그램만 실행 중입니다.

이 동작의 비결은 개별 무선 통신 기술 전체 또는 일부가 장치에서 동시에 활성화된다는 사실에 있을 수 있습니다.

여기에는 다음이 포함됩니다.

  • 블루투스;
  • 와이파이.

Wi-Fi는 특히 배터리를 많이 소모합니다. 이러한 기술을 비활성화하려면 설정을 열고 적절한 레이블이 있는 스위치를 확인해야 합니다. "끄기" 위치에 있어야 합니다. 그렇지 않으면 비활성화해야 합니다.

비행기 모드 켜기

Android 운영 체제를 실행하는 모든 가젯에는 "비행기 모드"라는 특수 프로필이 있습니다.

활성화되면 다음 모듈이 비활성화됩니다.

  • UMTS.

동시에 Wi-Fi와 GPS는 계속 작동합니다. 이러한 유형의 모드의 중요한 특징은 해당 모드의 작동이 충전 소비를 크게 줄여준다는 것입니다. 끄는 것은 쉽습니다. "전원" 키를 누르고 해당 메뉴 항목을 선택하기만 하면 됩니다.

2G 네트워크

급격한 배터리 소모를 없애는 가장 쉬운 방법은 2G 프로토콜을 통해 통신하는 모드를 사용하는 것입니다.

이 작업을 수행하는 것은 매우 쉽습니다.


다른

또한 하드웨어 문제로 인해 전화기의 배터리 충전이 매우 빠르게 손실될 수 있습니다. 이는 배터리, 마더보드 또는 스마트폰의 기타 부품에 있는 일반적인 공장 결함일 수 있습니다. 때로는 특수 충전 장치의 커넥터에 문제가 발생하거나 주 전압이 충분히 높지 않거나 너무 낮습니다.

스마트폰은 대기 모드에서 빠르게 방전됩니다.

때로는 장치가 대기 모드에서 매우 빠르게 방전될 수 있습니다. 누출 전류가 포함된 손상된 마더보드가 원인일 수 있습니다. 이러한 종류의 결함이 있는지 확인하는 것은 특수 장비를 통해서만 가능합니다.

이러한 문제가 발생한다고 의심되면 공인 서비스 센터에 문의하는 것이 가장 좋습니다.

영상: 왜 이렇게 빨리 방전되나요?

배터리 절약

배터리 충전량 감소를 처리하는 위의 모든 방법이 도움이 되지 않으면 특수 유틸리티를 사용해 볼 수 있습니다.

EasyBatterySaver는 스마트폰의 작동 시간을 5~20% 늘릴 수 있는 유틸리티입니다.

또한 다음과 같은 추가 기능도 있습니다.

  • 장치를 완전히 충전할 수 있습니다.
  • 가능한 한 빨리 가젯을 재부팅하고 해당 작업을 종료할 수 있습니다.
  • Wi-Fi, Bluetooth 및 기타 프로세스를 자동으로 비활성화할 수 있습니다.

배터리Dr.Saver

Battery Dr.Saver는 사용 중인 배터리에 맞는 최적의 모드를 선택할 수 있는 유틸리티입니다. 배터리 소모를 최소한으로 줄일 수 있습니다. 하지만 이 애플리케이션의 가장 중요한 장점은 대기 모드에서 최대 50%의 충전량을 절약할 수 있을 뿐만 아니라 재충전 없이 작동 시간을 늘릴 수 있다는 것입니다.

펌웨어 업데이트

때로는 문제의 유형의 문제를 해결하려면 단순히 펌웨어를 업데이트하는 것만으로도 충분합니다. 이는 매우 초기 버전의 Android를 실행하는 기기의 경우 특히 그렇습니다.

이 과정은 시간이 많이 걸리지 않으며 인터넷 연결이 양호하고 배터리가 완전히 충전되어 있으면 됩니다.

Android 스마트폰의 배터리 문제는 매우 흔합니다. 그러나 대부분의 경우 상대적으로 다루기가 쉽습니다. 특정 장치를 최대한 자세히 관찰하고 작동 기간에 정확히 영향을 미치는 것이 무엇인지 확인하면 됩니다.

크리스토퍼 버드

Android 운영 체제의 전원 관리 - 절전 잠금

아마도 많은 사람들이 모바일 장치가 하루 종일 단일 배터리 충전으로 작동할 수 없는 상황에 직면했을 것입니다. 근무일이 끝날 무렵 전화기가 쓸모없는 벽돌로 변하는 상황의 불쾌 함을 모두가 이해합니다. 최신 애플리케이션을 사용하면 이전에는 컴퓨터가 필요했던 작업을 스마트폰에서 수행할 수 있습니다. 하지만 스마트폰을 PC와 비교해 보면 크기가 훨씬 작기 때문에 배터리 용량도 현저히 낮습니다. 따라서 휴대폰에는 본질적으로 노트북의 기능이 있어야 하지만 동시에 매우 엄격한 요구 사항이므로 재충전하지 않고 꽤 오랫동안 배터리 전원으로 작동해야 합니다.

Android 및 기타 모바일 운영 체제는 공격적인 전원 관리 모델을 사용하여 긴 배터리 수명을 달성했습니다. 휴대폰을 일정 시간 사용하면 화면이 꺼지고 CPU가 저전력 모드로 전환됩니다. 따라서 전화기를 사용하지 않을 때는 에너지가 거의 소비되지 않습니다. 이 접근 방식 덕분에 전화기는 며칠 동안 재충전하지 않고도 대기 모드에서 작동할 수 있습니다. Android 전원 관리자는 다음과 같은 매우 논리적인 원칙에 따라 구축되었습니다. 화면이 꺼지면 CPU도 꺼집니다.

그러나 Android 개발자는 이 OS를 실행하는 장치가 절전 모드로 전환되는 것을 방지하는 기능을 제공했습니다. 어떤 경우에는 화면이 꺼져 있어도 CPU가 활성 상태를 유지하도록 하거나 특정 작업을 수행할 때 화면이 자동으로 꺼지는 것을 방지하고 싶을 수도 있습니다. 이를 위해 Google* 개발자는 PowerManager API에 절전 잠금 기능을 포함시켰습니다. 장치가 절전 모드에 들어가는 것을 방지해야 하는 애플리케이션은 이 차단을 활용할 수 있습니다. 시스템에 활성 절전 잠금이 있는 동안 장치는 "절전"할 수 없습니다. 즉, 대기 모드로 전환됩니다(잠금이 제거될 때까지). 수면 잠금 장치를 사용할 때 이러한 잠금 장치가 필요하지 않을 때는 적절하게 제거해야 한다는 점을 이해하는 것이 중요합니다. 그렇지 않으면 장치의 배터리가 빨리 소모됩니다. 결국 장치는 전력 소비가 감소된 상태로 돌아갈 수 없습니다.

이 문서에서는 Android 4.0에서 절전 잠금을 사용하는 일부 Android 앱에 대해 설명합니다. 또한 이 기사에서는 코드에서 절전 잠금 구현을 보여주기 위해 SDPSamples 세트의 "Wakelocks" 애플리케이션에 대해 설명합니다.

앱으로 수면 잠금 사용

Android 시스템에서는 절전 잠금을 유지하고 시스템이 절전 모드 중 하나로 전환되는 것을 방지하는 서비스를 확인할 수 있습니다. 장치의 /proc/wakelocks 파일에는 절전 잠금을 사용하는 서비스 및 드라이버 목록이 포함되어 있습니다. /sys/power/wake_lock 파일의 내용을 모니터링하면(루트 액세스 필요) CPU 잠금이 있는지, 어떤 서비스가 wakelock2 잠금을 보유하고 있는지 확인할 수 있습니다. Android 4.0을 실행하는 Galaxy Nexus 스마트폰에서 잠금 장치를 사용하는 여러 사례를 기록할 수 있었습니다.

테이블:기본 Android 앱에서 수면 잠금 사용

YouTube 및 Music 앱은 다양한 수준에서 수면 차단을 사용하는 좋은 예입니다. 사용자가 스트리밍 비디오를 시청하는 동안 YouTube 앱이 수면 잠금을 대신합니다. 전체 비디오 재생 중에는 화면이 켜져 있습니다(시스템에 설정된 화면 매개변수에 관계 없음). 그러나 재생 중에 사용자가 전원 버튼을 누르면 장치가 절전 모드로 전환됩니다. 즉, 화면이 꺼지고 오디오 및 비디오 재생이 중지됩니다. 음악 앱은 오디오를 재생할 때 다른 수면 잠금을 사용합니다. 화면 설정은 변경되지 않으므로, 설정된 대로 장치 화면이 꺼집니다. 하지만 화면이 꺼진 상태에서도 슬립 잠금 기능을 통해 CPU가 꺼지는 것을 방지해 사용자가 전원 버튼을 눌러도 음악이 계속 재생됩니다.

잠금 유형 선택

수면 잠금 코드 작성을 시작하기 전에 애플리케이션에 사용할 가장 적합한 유형을 선택할 수 있도록 어떤 유형의 수면 잠금이 있는지 이해해야 합니다. Android PowerManager API는 기기의 전원 상태를 변경하는 데 사용할 수 있는 다양한 잠금 플래그를 설명합니다.

깃발의 의미CPU화면키보드 백라이트
PARTIAL_WAKE_LOCK~에끄다끄다
SCREEN_DIM_WAKE_LOCK~에어두워짐끄다
SCREEN_BRIGHT_WAKE_LOCK~에최대 밝기끄다
전체_WAKE_LOCK~에최대 밝기최대 밝기

테이블: Android PowerManager API에서.

수면 잠금 장치는 Android 기기의 배터리 수명을 크게 감소시키므로 수면 잠금 장치 없이는 사용할 수 없다면 사용하지 않는 것이 좋습니다. 가능하다면 가능한 한 빨리 제거해야 합니다.

수면 차단을 사용하는 앱은 이를 위해 특정 권한을 요청해야 합니다. 이는 애플리케이션 매니페스트 파일에 android.permission.WAKE_LOCK 권한을 적용하여 수행됩니다. 즉, 사용자가 Google Play를 사용하여 수면 차단 앱을 설치하더라도 앱에 휴대전화의 수면을 방해할 수 있는 구성 요소가 포함되어 있다는 경고가 사용자에게 표시됩니다. 특정 애플리케이션 작업 중에 화면이 어두워지는 것을 방지하려면 특별한 권한이 필요하지 않은 방식으로 수행할 수 있습니다. WindowManager에는 응용 프로그램의 View 메서드가 화면을 켜진 상태로 유지해야 하는 경우 설정할 수 있는 FLAG_KEEP_SCREEN_ON 변수가 있습니다. 화면 제어에는 이 접근 방식을 사용하는 것이 좋습니다. 그 영향은 애플리케이션 내에서만 발생하기 때문입니다. 사용자가 다른 응용 프로그램으로 전환하면 WindowManager는 절전 잠금을 제거합니다.

화면 켜짐 유지(SDPSamples 세트에서)

SDPSamples의 WakeLock 애플리케이션은 애플리케이션이 절전 잠금 코드를 작성하지 않고도 창 관리자를 사용하여 화면을 계속 유지할 수 있음을 보여줍니다. WakeLock 애플리케이션을 실행하고 "Win Man Screen On" 목록 항목을 선택하십시오.

버튼 상태 표시줄에 "화면이 잠겨 있습니다"라는 텍스트가 표시되는 한 화면은 켜져 있습니다. 버튼의 상태 표시줄에 "화면이 잠금 해제되었습니다"라는 텍스트가 포함되어 있으면 5초 동안 활동이 없으면 화면이 꺼집니다.

코드에서는 버튼을 누르고 상태가 변경될 때마다 현재 창에 대해 FLAG_KEEP_SCREEN_ON을 설정하고 지워 WakeLockActivity.java의 screenLockUpdateState() 함수를 통해 이 작업이 수행됩니다.

Public void screenLockUpdateState() ( if (mIsDisplayLocked) ( ... // 표시 상태 업데이트 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); ) else ( ... // 표시 상태 업데이트 getWindow().clearFlags(WindowManager .LayoutParams.FLAG_KEEP_SCREEN_ON); ) )

수면 차단 구현

SDPSamples 세트의 WakeLock 애플리케이션은 다양한 유형의 절전 잠금을 구현합니다. WakeLock 애플리케이션을 시작한 후 Power Wake Lock Full, Power Wake Lock Bright, Power Wake Lock Dim 및 Power Wake Lock Partial의 4가지 유형의 절전 잠금 중 하나를 선택하세요. 이 4가지 옵션은 PowerManager API에 설명된 4가지 절전 잠금 플래그에 해당합니다. 각 요소는 5초 후 화면을 끄려는 시도에 대한 장치의 반응을 보여줍니다.

/sys/power/wake_lock 파일의 내용을 모니터링하면(루트 액세스 필요) 전원 버튼을 누른 후 PARTIAL_WAKE_LOCK 절전 잠금만 유지된다는 것을 알 수 있습니다. 다른 수면 잠금 기능으로는 화면을 완전히 끌 수 없습니다. 화면은 하나 이상의 밝기 수준에서 계속 작동합니다.

절전 잠금용 코드를 작성할 때 먼저 AndroidManifest.xml 매니페스트에서 해당 코드를 사용할 수 있는 권한을 요청해야 합니다.

그런 다음 acquire() 및 release() 함수가 포함된 WakeLock 개체를 만들어 절전 잠금을 관리할 수 있습니다. 좋은 예는 WakeLockActivity.java 파일에 있습니다.

Public void onCreate(Bundle saveInstanceState) ( ... mPowerManager = (PowerManager) getSystemService(Context.POWER_SERVICE); ... mWakeLock = mPowerManager.newWakeLock(mWakeLockState, "UMSE PowerTest"); if (mWakeLock != null) ( mWakeLock. acquire(); ... ) protected void onDestroy() ( if (mWakeLock != null) ( mWakeLock.release(); mWakeLock = null; ) ... )

결론

절전 잠금은 개발자가 기기의 기본 전원 상태를 변경할 수 있는 Android 시스템 기능입니다. 앱에서 수면 잠금을 사용할 때의 위험은 배터리가 조기에 소모된다는 것입니다. 수면 잠금의 몇 가지 분명한 이점은 내비게이션, 음악 및 비디오 재생과 같은 여러 표준 Google 앱에서 분명하게 드러납니다. 각 애플리케이션 개발자는 수면 차단이 적절한지 여부를 스스로 결정해야 합니다.

작가에 대해

Christopher Bird는 2007년 Intel SSG에서 경력을 시작했으며 휴대폰 및 태블릿의 Atom 생태계 구축에 참여하고 있습니다.

참고 자료

2 LWN – "Wakelock 및 내장 문제": http://lwn.net/Articles/318611/

노트

이 문서의 정보는 인텔 제품에만 제공됩니다. 여기서는 어떠한 명시적 또는 묵시적 라이선스, 적격성 또는 기타 지적 재산권도 부여되지 않습니다. 해당 제품의 판매 약관에 규정된 경우를 제외하고 인텔은 해당 제품의 적합성에 관한 책임 또는 보증 보증을 포함하여 해당 제품의 판매 및/또는 사용과 관련하여 명시적이든 묵시적이든 어떠한 책임도 부인합니다. 특정 목적, 이익 또는 비침해 - 특허, 저작권 또는 기타 지적 재산권.

인텔이 서면으로 합의한 경우를 제외하고 인텔 제품은 오류로 인해 부상이나 사망이 발생할 수 있는 상황에서 사용할 수 없습니다.

인텔은 사전 통지 없이 제품의 사양과 설명을 변경할 권리를 보유합니다. 디자이너는 누락된 특성이나 "예약됨" 또는 "지정되지 않음"으로 표시된 특성에 의존해서는 안 됩니다. 이러한 기능은 향후 사용을 위해 Intel에서 예약한 것이며 호환성 충돌이 없음을 보장하지 않습니다. 이 문서의 정보는 예고 없이 변경될 수 있습니다. 최종 디자인에서는 이 정보를 사용하지 마십시오.

본 문서에 설명된 제품에는 실제 제품 사양이 여기에 설명된 내용과 다를 수 있는 오류나 부정확성이 포함될 수 있습니다. 이미 식별된 오류는 요청 시 제공될 수 있습니다. 주문하기 전에 가까운 인텔 영업소나 지역 대리점에서 최신 사양을 얻으십시오.

이 문서에 언급된 문서의 번호가 매겨진 사본과 기타 인텔 자료는 1-800-548-4725로 전화하여 주문하거나 http://www.intel.com/design/literature.htm에서 다운로드할 수 있습니다.

벤치마크 테스트에 사용된 소프트웨어와 로드는 Intel 마이크로프로세서에서 높은 성능을 달성하도록 최적화되었을 수 있습니다. SYSmark 및 MobileMark와 같은 성능 테스트는 특정 컴퓨터 시스템, 구성 요소, 프로그램, 운영 및 기능에 대해 수행됩니다. 이러한 요소를 변경하면 결과가 변경될 수 있습니다. 구매하는 제품을 선택할 때 다른 제품과 결합하여 특정 제품의 성능 테스트를 포함하여 기타 정보 및 성능 테스트를 참조해야 합니다.

이 문서와 여기에 설명된 소프트웨어는 라이선스에 따라 제공되며 라이선스 조건에 따라서만 사용 및 배포될 수 있습니다.

Intel® 및 Intel 로고는 미국 및 기타 국가에서 Intel Corporation의 상표입니다.

© 인텔사, 2012. 모든 권리 보유.

*기타 이름과 상표는 제3자의 자산일 수 있습니다.

오래 전, 안드로이드가 아직 주류가 아니었을 때, 개발자라면 누구나 조용히 백그라운드에 머물며 서버와 실시간으로 데이터를 교환할 수 있는 애플리케이션을 작성할 수 있었습니다. 그러나 Google이 사용하는 에너지 절약 기술이 더욱 엄격할수록 오늘날에는 네트워크 실시간 애플리케이션을 그렇게 쉽게 구현하는 것이 더 이상 불가능합니다. 그러나 이를 수행할 수 있는 몇 가지 트릭이 있습니다.

우리가 애플리케이션을 가지고 있고, 그 애플리케이션이 백그라운드에서 지속적으로 대기하고, 네트워크 서버로부터 받은 명령을 처리하고, 응답을 보내야 하는 서비스를 가지고 있다고 가정해 봅시다. 모바일 장치의 경우와 마찬가지로 서버와의 통신은 긴 폴 요청을 사용하여 지원됩니다. 즉, 애플리케이션은 원격 서버에 연결하고 응답으로 무언가를 보낼 때까지 기다린 다음 다시 연결하고 다시 기다립니다. 이는 효과적이고 배터리를 매우 절약하는 방법이며 Android 자체의 푸시 알림 메커니즘에도 사용됩니다.

이론적으로는 모든 것이 훌륭해 보이고 애플리케이션의 아키텍처는 절대적으로 정확하지만 테스트를 시작하면 몇 가지 매우 불쾌한 순간이 드러날 것입니다.

Android 절전 모드

Android 4.4~5.1(아래 버전은 고려하지 않음 - 빠르게 구식이 됨)에서는 서비스가 작동하고 서버 요청에 즉시 응답하지만 화면이 켜져 있는 동안에만 가능합니다. 화면이 꺼진 후 몇 초 후에 스마트폰은 절전 모드(일시 중지)로 들어가고 요청 전송과 애플리케이션 응답 사이의 간격은 약 1분입니다. 이는 장치의 유지 관리 웨이크업 사이의 기간이며 우리는 이에 영향을 미칠 수 없습니다.

Android 6.0-7.1에서는 상황이 거의 동일하지만 약 한 시간 후에 스마트폰이 소위 상태로 전환됩니다. 그 후에는 애플리케이션으로부터 전혀 응답을 받지 못하거나 한두 시간 후에 응답을 받을 수도 있습니다. 그리고 잠자기 모드에서는 스마트폰이 실제로 타사 애플리케이션과 해당 서비스의 작동을 방지하고 네트워크에 대한 액세스를 완전히 차단하기 때문입니다. 잠자기 모드로 전환한 후 1시간, 그 다음에는 2시간, 4시간 등 짧은 시간 동안만 제어권을 얻을 수 있으며 각성 간격은 점점 더 늘어납니다.

좋은 소식은 Doze가 시스템 전체에서 작동하며 화면이 꺼진 후 한 시간 후에 스마트폰을 터치하지 않은 경우에만 켜지고(7.0~7.1에서는 터치 가능) 스마트폰 잠금을 해제한 후 즉시 꺼진다는 것입니다. 충전기에 연결하거나 스마트폰을 옮기는 경우(7.0~7.1에서는 해당되지 않음) 즉, 적어도 낮에는 서비스가 정상적으로 작동하기를 바랄 수 있습니다.

나쁜 소식은 Doze 외에도 Android 6.0~7.1에는 앱 대기라는 또 다른 절전 메커니즘이 있다는 것입니다. 다음과 같이 작동합니다. 시스템은 사용자가 어떤 애플리케이션을 사용하는지 모니터링하고 잠자기 모드의 경우와 마찬가지로 거의 사용하지 않는 애플리케이션에 동일한 제한을 적용합니다. 충전기에 연결하면 대기 모드로 전환된 모든 애플리케이션이 면제를 받습니다. 알림 또는 관리자 권한(루트 아님)이 있는 애플리케이션에는 대기 모드가 적용되지 않습니다.

전체적으로 Android에는 처리해야 하는 세 가지 메커니즘이 있습니다.

  • 일시 중단은 장치의 응답을 약 1분 정도 늦출 수 있는 일반적인 절전 모드입니다.
  • 앱 대기 - 하루 동안 응답 속도를 늦출 수 있는 공격적인 에너지 절약 모드입니다.
  • 잠자기(Doze)는 모든 애플리케이션에 적용되는 공격적인 시스템 전체 절전 모드입니다.

이러한 모든 에너지 절약 모드는 우회할 수 있지만 숲 속으로 깊숙이 들어갈수록 사용자는 더 많은 목발과 불편함을 겪게 되므로 가장 가벼운 것부터 하드코어까지 에너지 절약 메커니즘을 우회하는 몇 가지 옵션을 고려할 것입니다.

시나리오 1. 응답이 약간 지연되는 것은 중요하지 않으며 Doze로의 전환도 중요하지 않습니다.

이 시나리오에서는 최대 1분의 응답 지연이 중요하지 않은 애플리케이션이 있으며 스마트폰이 공격적인 에너지 절약 모드로 전환되는 것이 전혀 두렵지 않습니다. 필요한 것은 시스템이 애플리케이션을 대기 상태로 보내지 않는 것뿐입니다.

이를 달성하는 가장 쉬운 두 가지 방법은 서비스를 포그라운드 서비스로 가져오거나 애플리케이션 장치 관리자 권한을 부여하는 것입니다. 첫 번째 옵션부터 시작해 보겠습니다.

포그라운드 서비스

Android 용어로 포그라운드 서비스는 커튼 안에 알림이 있는 서비스입니다. 시스템은 이러한 서비스를 훨씬 더 신중하게 처리합니다. 예를 들어, 메모리가 부족하면 마지막에 종료되고, 실행 중인 애플리케이션 관리 메뉴에서 애플리케이션을 스와이프해도 종료되지 않고, 대기 모드가 적용되지 않습니다.

포그라운드 서비스를 생성하는 것은 매우 간단합니다. 서비스 코드에 대략 다음 줄을 삽입하면 충분합니다.

인텐트 알림Intent = new Intent(this, exampleActivity.class); PendingIntent 보류 중인Intent = PendingIntent.getActivity(this, 0,notificationIntent, 0); 알림 알림 = 새 알림.Builder(this) .setContentTitle(getText(R.string.notification_title)) .setContentText(getText(R.string.notification_message)) .setSmallIcon(R.drawable.icon) .setContentIntent(pendingIntent) .setTicker (getText(R.string.ticker_text)) .build(); startForeground(0, 알림);

이 예에서는 클릭하면 exampleActivity가 시작된다는 알림을 생성하고, 마지막에는 startForeground()를 사용하여 서비스가 포그라운드 상태로 전환됩니다.

관리자 권한

또 다른 옵션은 애플리케이션 관리자 권한을 부여하는 것입니다. 이러한 권한은 잠금 화면 비밀번호 생성 정책을 관리하고 장치를 원격으로 잠그고 초기화할 수 있는 기능을 제공합니다.

한때 구글은 직원들의 스마트폰을 관리하려는 기업을 위해 '기기 관리자'라는 개념을 도입하기도 했습니다. 즉, 회사에서는 관리자 권한을 부여받아 서버의 명령에 따라 전화기를 차단하거나 재설정할 수 있는 애플리케이션을 만듭니다. 차단 명령이 언제든지 올 수 있기 때문에 관리자 권한이 있는 응용 프로그램이 대기 모드로 전환되지 않는 이유입니다.

관리자 권한을 얻거나 요청하는 것은 다시 간단합니다. 먼저, 권한을 획득하거나 취소한 후 호출될 몇 가지 콜백이 필요합니다.

계속 이용은 회원만 가능합니다

옵션 1. "사이트" 커뮤니티에 가입하여 사이트의 모든 자료를 읽으세요.

지정된 기간 내에 커뮤니티에 가입하면 모든 Hacker 자료에 액세스할 수 있고 개인 누적 할인이 증가하며 전문적인 Xakep 점수 등급을 누적할 수 있습니다!