한국의 개발자들을 위한 Google for Developers 국문 블로그입니다.
Android 9 Pie의 향상된 절전 기능에 대해 소개합니다
2018년 10월 5일 금요일
<블로그 원문은
이곳
에서 확인하실 수 있으며 번역 리뷰에는 이승민(Android GDE)님이 참여해 주셨습니다.>
게시자: Madan Ankapura, Android 제품 관리자
이 글은 Android에서 전력에 관한 전략과 지침을 소개하는 블로그 게시물 시리즈 중 첫 편입니다.
사용자는 배터리에 무척 관심이 많습니다. 배터리가 너무 빨리 닳으면 앱을 사용할 수 없음을 의미합니다. 배터리 전원을 관리하는 것은 사용자와의 관계에서 중요한 부분이며, 우리는 이를 달성하는 데 도움이 되는 기능을 플랫폼에 계속 추가할 것입니다.
앱 보안 및 성능 개선에 관해
발표한 Play 정책
중 일부로서, 앱의 대상 API 레벨이 현재 Android 릴리스보다 1년 이상 이전 버전이면 안 됩니다. 대상 API 레벨을 최신 버전으로 유지해야 앱이 최신 플랫폼 릴리스에서 제공되는 향상된 보안 및 성능을 이용할 수 있기 때문입니다. 앱의 대상 API 레벨을
업데이트
할 때는 전력과 성능에 상당한 영향을 미칠 수 있는 백그라운드 및 포그라운드 요구사항들을 검토하는 것이 중요합니다.
Android의 과거 릴리스에는 다음과 같이 배터리 수명 관리에 도움이 되는 기능이 다수 포함되었습니다.
작업 스케줄러
: Android 5.0
Lollipop
에 포함된 기능으로, 작업을 지연할 수 있게 해줍니다.
잠자기 및 앱 대기
: Android 6.0
Marshmallow
에 포함된 기능으로, 기기나 앱을 장기간 사용하지 않을 때 네트워크에 액세스하지 못하게 하고 동기화 및 백그라운드 작업을 정지합니다.
잠자기 기능 개선
: Android 7.0
Nougat
에 적용되었으며 화면은 꺼져 있지만 정지된 상태가 아닐 때 Doze 제한 중 일부를 적용합니다.
백그라운드 제한
: Android 8.0
Oreo
에 적용되었으며 백그라운드 서비스를 막고 위치 업데이트 횟수를 제한합니다.
Android 9 Pie
에서는 다음 세 가지 원칙에 의거하여 더욱 개선했습니다.
개발자는 멋지고 훌륭한 앱을 만들고 싶어 한다
앱은 전력 효율이 뛰어나야 한다
사용자는 귀찮게 앱 설정을 구성하고 싶어하지 않는다
즉, OS가 더 스마트해지고 사용자가 선호하는 방향에 따라 적응하는 동시에 기기의 배터리 수명을 개선할 필요가 있다는 의미입니다. 우리는 이런 요구에 부응하기 위해
앱 대기 버킷
과
백그라운드 제한 사항
을 도입하고
배터리 세이버
를 개선했습니다
. Android 9 Pie를 실행하는 기기에서 지원되는 이러한 기능으로 앱을 테스트해보세요.
배터리 세이버와 잠자기 기능은 기기 레벨에서 작동하는 반면, 배터리 자동 조절(Deepmind ML 모델을 사용하는
앱 대기 버킷
)과
백그라운드 제한 사항
기능은 앱마다 다르게 작동합니다. 아래 다이어그램을 보면 예약된 작업이 언제 실행될지 이해하는 데 도움이 될 것입니다.
Oreo 이상을 대상으로 지정하도록 앱을 업데이트할 때는 이
체크리스트
를 살펴보고 백그라운드 작업에 대해서는 아래 표를 따르세요.
현재 사용 중
Oreo로 포팅
JobScheduler
JobScheduler
Firebase JobDispatcher
Firebase JobDispatcher
백그라운드 서비스
Jobscheduler
포그라운드 서비스
서비스 중지 액션을 포함한
포그라운드 서비스
참고: WorkManager API가 안정화되면 이런 사용 사례에 대해서는 대부분
WorkManager
를 권장할 것입니다.
위에 언급한 중요성을 따라 앱 개발자가 올바른 설계 패턴과 아키텍처를 설계하도록 다음 전략을 권장합니다.
사용자가 앱을 적극적으로 사용 중일 때 필요한 작업 수행
백그라운드에서 수행되는 작업은 모두 지연 가능하도록 함
포그라운드 서비스를 사용하되, 사용자가 포그라운드 서비스를 중지할 수 있도록 알림에서 액션 제공
마찬가지로, 알람, 네트워크, FCM 메시지 등의 다른 OS 프리미티브에도
전력 관리 제한 사항
에 관한 개발자 문서에 설명되어 있는 제약 조건이 있습니다.
Google I/O 프레젠테이션
,
DevByte
, 추가적인
전력 최적화
개발자 문서를 통해 이러한 각각의 기능에 대해 자세히 알아볼 수 있습니다.
앞으로 몇 주에 걸쳐 디자인 패턴 지침을 다룬 시리즈를 게시할 예정입니다. 계속 지켜봐 주세요.
감사의 말: 본 블로그 게시물 시리즈는 Android Framework 팀과 DevRel 팀의 공동 작업으로 작성됩니다.
Contents
ML/Tensorflow
Android
Flutter
Web/Chrome
Cloud
Google Play
Community
Game
Firebase
검색
Tag
인디게임페스티벌
정책 세미나
창구프로그램
AdMob
AI
Android
Android 12
Android 12L
Android 13
Android 14
Android Assistant
Android Auto
Android Games
Android Jetpack
Android Machine Learning
Android Privacy
Android Studio
Android TV
Android Wear
App Bundle
bootcamp
Business
Chrome
Cloud
Community
compose
Firebase
Flutter
Foldables
Game
gdg
GDSC
google
Google Developer Student Clubs
Google Play
Google Play Games
Interview
Jetpack
Jetpack Compose
kotlin
Large Screens
Library
ma
Material Design
Material You
ML/Tensorflow
mobile games
Now in Android
PC
Play Console
Policy
priva
wa
wear
Wearables
Web
Web/Chrome
Weeklyupdates
WorkManager
Archive
2024
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2023
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2022
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2021
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2020
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2019
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2018
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2017
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2016
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2015
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2014
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2013
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2012
12월
11월
10월
9월
8월
7월
6월
5월
3월
2월
1월
2011
12월
11월
Feed