meere

Android O (Oreo, 오레오) 의 특징 :: 전력 최적화? 본문

IT. SW. 전자기기/도움이 되는 정보들

Android O (Oreo, 오레오) 의 특징 :: 전력 최적화?

meere 2017. 6. 26. 19:26



개발자들이라면 관심이 많을 Android O 소식을 알아보려 합니다.

개발자가 아니어도 IT 트렌드와 IT 제품 소비에 관심이 많은 유저들도 많은 관심 가지고 계실 것이라 생각됩니다. 


제가 사용하는 노트5가 Android N 으로 업데이트 되고 얼마 지나지 않아 Android O 프리뷰 배포 소식이 들려오니,

안타까울 따름이네요.. 


왜냐면 제 노트5는 더이상 메이저 업글이 없을 것 같으니 말이죠. ㅜ.ㅜ

(역시 대세는 노트8인가봅니다. ^^)



하지만!  OS 버전 업이 마냥 좋은 것은 아닐 것 입니다.

노트5 에서 Android N 으로 업글 후 멀티테스킹 기능이 너프되어 많은 유저분들의 상심이 컸습니다. 

저 또한 불편해진 멀티테스킹 기능 때문에 OS 업글이 후회 되기도 했습니다.


이 처럼 새로운 OS로의 업글이 기기의 기능에 큰 영향을 주는 상황에서,

먼저 하나 하나 살펴보고자 합니다.


Android O, 과연 무엇이 좋아지고 어떤 것이 너프될까요?



우선 Android O 공식 디벨로퍼 사이트를 참고해보겠습니다.

(https://developer.android.com/preview/index.html)



Android O란 무엇인가요?

새로운 전력 및 성능 최적화 기능과 앱을 확장할 수 있는 다양한 새로운 방법이 포함된 Android 차기 버전입니다.



디벨로퍼 사이트에서 가장 먼저 언급한 Android O의 특징이 '새로운 전력 최적화 기능입니다.

IOS 를 채용한 아이폰 보다 성능이 떨어지는 것 그리고 베터리 관리가 잘 안되는 것 ,

특히 Idle 타임에서의 배터리 소모가 크다는 점 때문에 많은 욕을 먹고 있었습니다.


구글이 이런 전력 관리 부분을 이를 갈며 개선하고자 노력했고 그 결과물이 Android O 인 것 같습니다.

어떠한 이유로 이렇게 자신 만만한 태도로 Android O를 설명하는지 살펴보겠습니다.



우선 디벨로퍼 사이트에서 Android O 신기능, 변경사항들을 읽어봐도 전력소모와 관련된 부분은 없어보입니다.

단, 다음의 키워드를 제외하고 말이죠.


'백그라운드 실행 제한'




기존 Android 의 백그라운드 프로세스 관리는 개발자에게 너무나도 큰 자유도를 선사했습니다.

앱이 백그라운드로 진입하더라도, 설상가상으로 하드웨어의 리소스가 점점 고갈되어 가더라도,

개발자는 자기가 돌리고 싶은 기능을 계속 돌려줄 수 있었죠..


내가 하고자 하는 기능만 돌아가도록 코딩해도  선택에 따라 백그라운드 상태에서도 어떤 짓이든 할 있었습니다.

이런 이유로 그동안 Android 전력관리가 나쁘다는 오명을 뒤집어 쓴 것 같습니다.


백그라운드에서도 맘대로 동작하는 앱들,

그런 앱을 만든 개발자들 때문에 Android 가 욕을 먹었지만,



하지만 Android O 에서는 이런 동작에 제한을 건듯 합니다. 



다음은 구글의 공식 설명입니다.


'백그라운드에서 실행될 때마다 앱은 기기의 제한된 리소스(예: RAM)를 사용합니다. 이 경우 사용자 환경이 손상될 수 있으며, 게임 재생이나 동영상 보기 등 리소스를 많이 소모하는 앱을 사용 중인 경우에는 특히 그렇습니다. Android O는 사용자 경험을 개선하기 위해 백그라운드에서 실행되면서 앱의 동작을 제한합니다...'

(https://developer.android.com/preview/features/background.html#overview)



Android O는 다음의 방식으로 백그라운드 앱 동작을 제한 한다고 합니다.


  • 백그라운드 서비스 제한: 앱이 유휴 상태인 경우 백그라운드 서비스의 사용이 제한됩니다. 이 기능은 사용자에게 잘 보이는 포그라운드 서비스에는 적용되지 않습니다.

  • 브로드캐스트 제한: 제한된 예외의 경우, 앱이 암시적 브로드캐스트에 등록하기 위해 자체 매니페스트를 사용할 수 없습니다. 그렇지만 여전히 앱이 런타임에 브로드캐스트에 등록할 수 있으며, 특정 앱을 대상으로 하는 명시적 브로드캐스트에 등록하기 위해 매니페스트를 사용할 수 있습니다.

 

이것을 보면 Adroid O 에 맞게 개발되지 않은 앱들은 호환성 문제가 발생될 가능성이 다분해 보입니다. 그러나....

이러한 제한들을 자세히 살펴보면 말입니다...



백그라운드 서비스 제한


백그라운드에서 실행 중인 서비스가 기기 리소스를 사용할 수 있으며, 그 결과 사용자 환경이 악화될 가능성이 있습니다. 이러한 문제를 줄이기 위해 시스템은 Android O를 대상으로 하는 앱에 여러 가지 서비스 제한을 적용합니다.

참고: 이 제한은 Android O를 대상으로 하는 앱에만 적용됩니다. API 레벨 25 이하를 대상으로 하는 앱은 영향이 없습니다.


브로드캐스트 제한


앱이 브로드캐스트를 수신하도록 등록한 경우, 앱의 수신기는 브로드캐스트가 전송될 때마다 리소스를 소비합니다. 이 경우 너무 많은 앱이 시스템 이벤트 기반의 브로드캐스트를 수신하도록 등록하면 문제가 될 수 있습니다. 브로드캐스트를 트리거하는 시스템 이벤트로 인해 모든 앱들이 급속하게 리소스를 소비할 수 있으며 이로 인해 사용자 환경이 손상될 수 있습니다. 이러한 문제를 줄이기 위해 Android 7.0(API 레벨 25)에서는 브로드캐스트에 제한을 두었습니다( 백그라운드 최적화에서 설명). Android O는 이러한 제한을 더욱 엄격하게 적용합니다.

참고: 이 제한은 Android O를 대상으로 하는 앱에만 적용됩니다. API 레벨 25 이하를 대상으로 하는 앱은 영향이 없습니다.

(https://developer.android.com/preview/features/background.html#overview)




역시 문제가 될 가능성은 만들어 두지 않았습니다.


하지만 아무리 Adroid O 를 사용하더라도, Adroid O 타겟으로 앱이 새로 만들어 지지 않으면 전력 최적화를 위한 이점은 하나도 없겠습니다. 역시 또 Adroid O를 지원하지 않는 앱 탓으로 돌아가게 될까요?



Adroid O 에서 그렇게 이루고 싶었던 전력 관리의 꿈은 역시....

API 레벨의 파편화가 심한 안드로이드에겐 쉬운 길은 아닐 것 같습니다. 



그럼 Adroid O 의 다른 특징은 무엇이 있을지 다음 포스팅으로 살펴 보도록 하겠습니다. ^^


(추가 6/28)

#2 : Android O (Oreo, 오레오) 변경 기능 :: PIP 모드, 다중 디스플레이, 어댑티브 아이콘 등



Comments