: TB의 SNS 이야기 :: iOS 백그라운드 app 새로 고침에 관한 이해



iOS는 전화, 메일, 네트워크 아이팟, 일부 푸쉬 알림 외 모든 백그라운드 프로세스를 허용치 않았다. 이는 garbage collection의 설계 스타일 차이 외에도 더 낮은 스펙의 아이폰이 더 높은 스펙의 안드로이드 보다 높은 퍼포먼스를 낼 수 있던 주요 원인 중 하나였다.


iOS 7에서 처음 소개된 '백그라운드 app 새로 고침' 기능은 서드-파티 앱들에 대한 메시지, 헤드라인, 업데이트 현황 등 인터넷과 관련된 프로세스를 허용하기 시작했다. 이는 즉각적으로 소비전력에 관한 이슈를 야기 시켰고 대표적인 예가 스카이프(Skype)와 페이스북(Facebook) 이슈였다.


백그라운드 프로세스가 많다는 얘기는 곧 더 많은 클럭수를 요구한다는 것이고 더 많은 시스템 리소스를 요구한다는 것이고 더 많은 소비전력을 요구한다. 따라서 pseudo-multitasking인 iOS 대비 real-multitasking을 제공하는 안드로이드는 늘 더 높은 스펙과 더 많은 배터리 용량을 요구했지만 스펙에 맞는 퍼포먼스는 제공하지 못했다.


이전에 순정 iOS에서 리부팅 없이 '가용램을 청소하는 방법' 을 소개한 적이 있다. 당시 드라마틱한 유료 앱 홍보에 관한 잘못된 점을 왜 iOS의 백그라운드를 종료하는 행위(앱 스위처 실행 → 위로 스와이프 종료)가 오히려 배터리 소비전력을 낭비하는 지에 관한 '자세한 설명'을 남겼으니 iOS의 백그라운드에 관한 이해에 도움이 될 수 있다. 이도 저도 잘 모르겠으면, 이전에 소개한 '1번의 탭으로 가용램을 확보하는 방법'을 참고하면 된다.


1. 백그라운드 app 새로 고침에서 활성, 비활성을 선택하라.


오늘 다루는 내용은 iOS 9 기준 '백그라운드 app 새로 고침'에 관해서다. 우선 설정 → 일반 → 백그라운드 App 새로 고침에서 백그라운드를 허용할 것들과 허용하지 않을 목록들을 선택할 수 있다.



어떤 앱을 활성화 시킬 것인가 혹은 비활성화 시킬 것인가에 관한 간단 명료한 기준은 "내가 백그라운드 프로세싱이 필요한 서비스" 다. 간단하게는 푸싱 알람을 받아야 하거나 정보에 관한 주기적 업데이트가 필요한 서비스들이다. 그렇지 않고 필요에 따라서 네트워크에 접속해야 할 서비스들은 '모두 비활성화 시킨다.' 주의할 점은 백그라운드 app 새로고침을 아예 꺼버리면 모든 서드-파티 서비스 및 애플 디폴트 서비스가 '앱을 실행하지 않는 한' 갱신되지 않는다는 것이다. 카카오톡을 포함한 일부 메시징 앱 또는 게임 등의 서드-파티 앱은 백그라운드 app 새로고침을 무시한 채 푸싱이 된다. 이런 경우 보통 앱스위처와 관계 있다. 일시 정지가 아니라 리프레쉬 되는 경우다.


2. 배터리 소비의 원인을 찾아라.


애플은 iOS 9 부터 '저전력 모드' 기능을 추가했다. 이 기능은 앞으로 공개될 삼성전자의 갤럭시S7에도 포함 될 것이고(갤럭시S7은 3단계를 제공할 것으로 알려졌다.), 앞으로 출시되는 많은 안드로이드 기기들이 애플을 팔로잉 할 것이다.



iOS 9의 저전력 모드에 관한 디테일한 리뷰는 없다. 하지만 블로그를 통해 일반적인 아이폰 사용에 있어서 '2주간 사용한 실사용 데이터'를 소개한적이 있다. 약 38.7%의 속도가 감소했으며, 총 배터리 사용량은 약 33%가 증가했다. 따라서 기본적으로 게임 구동이 아닐 경우 모든 아이폰 사용에서 저전력 모드를 쓴다면 드라마틱하게 배터리 사용량이 늘어날 수도 있다.


실례를 들자면, MyWi(BigBoss, $19.99) 와 연동되는 MyWi OnDemand(BigBoss, $4.99)가 아직 iOS 9을 지원하지 않는 관계로 MyWi를 통한 아이폰 to 다른 기기(아이패드, 안드로이드, 윈도우, PC 등)와의 3G 무제한 요금제를 이용 테더링을 자유롭게 쓰는 중인데, MyWi를 일반 모드에서 테더링 할 경우 배터리가 빠르게 줄어든다. 이때 필요한 것이 블루투스 기반으로 인터넷 사용이 필요할 때만 자동으로 연결해주는 MyWi OnDemand다. 저전력 모드를 이용하여 MyWi 테더링을 써본 결과 일상 생활에 지장을 주지 않을 정도의 (아이폰6S플러스 기준, 6S는 다를 수 있다.)배터리량을 경험 할 수 있었다.



순정 iOS에서 내가 어떤 앱을 가장 많이 쓰나 확인할 수 있는 방법은 '설정 → 배터리' 옵션이다. 여기서 %가 높을 수록 많이 쓰는 앱이다. 반대로 말하면 %가 없을 수록 안 쓰는 앱이다 ← 쓸 때 없이 앱을 설치해 둘 필요는 없다. 삭제를 권한다.


iOS에서 가장 많은 소비전력을 차지하는 것은 주로 디스플레이와 관련된 것들이다. 그래서, 디스플레이 밝기를 수동으로 약 30%로 유지해도 큰 효과를 볼 수 있다. 배터리 설정에서 확인해야 할 항목은 '의도치 않은 배터리 사용량'이다. 가령 예를 들자면, 백그라운드 app 새로 고침을 활성 시킨 특정 서드-파티가 과도하게 %를 차지한다면, 당연히 그 서드-파티를 비활성화 시켜 아이폰 사용 시간을 늘릴 수 있다.


3. 메일, 연락처, 캘린더


이전부터 허용되어 왔던 iOS의 백그라운드 중 전화, 일부 네트워크 서비스의 경우 사용자의 임의 설정이 불가다. 임의로 설정하는 방법이 있기는 한데, '에어플레인 모드' 다. 에어플레인 모드를 설정하면 셀룰러(음성 및 데이터), Wi-Fi, 블루투스, GPS, 위치서비스가 제한된다.



그 외에 사용자가 임의로 설정할 수 있는 것들로는 메일, 연락처, 캘린더가 있다. iOS에서는 애플이 iCloud와 함께 iCloud 계정 이메일을 제공하기 이전 IMAP/POP3 기반 다른 이메일 계정을 지원했다. 예를 들자면 다음(Daum), 네이버(Naver), 지메일(G.mail)이 있다.(단, 이전과 달리 G.mail의 경우 간편하게 설정에서 계정 추가 기능이 업데이트 됐다.)


iOS의 메일, 연락처, 캘린더는 '동기화' 를 지원한다. (이 내용에 있어서)동기화란, 예를 들자면 아이폰에서 수정하면 서버 데이터가 수정되어 다른 기기에서 열람시 아이폰과 같은 수정된 내용을 볼 수 있다. 반대로 다른 기기에서(PC 등) 수정하면 서버 데이터가 수정되어 아이폰에서 수정된 내용을 볼 수 있다.


문제는 서버에서 수정된 내용을 자동으로 푸쉬하는 기능이다. 이 또한 백그라운드 app 새로고침에 해당되고 '설정 → Mail, 연락처, 캘린더 → 데이터 업데이트' 에서 푸시 유무를 결정할 수 있으며 업데이트 주기(15분, 30분, 매시간, 수동: 앱을 실행할 때 마다/비활성을 의미)을 결정할 수 있다. 당연히 업데이트 주기가 빠를 수록 배터리 소비량이 늘어난다.


 T.B의 SNS 이야기 블로그의 모든 글은 저작권법의 보호를 받습니다. 어떠한 상업적인 이용도 허가하지 않으며, 이용(불펌)허락을 하지 않습니다.

▲ 사전협의 없이 본 콘텐츠(기사, 이미지)의 무단 도용, 전재 및 복제, 배포를 금합니다. 이를 어길 시 민, 형사상 책임을 질 수 있습니다.

▲ 비영리 SNS(트위터, 페이스북 등), 온라인 커뮤니티, 카페 게시판에서는 자유롭게 공유 가능합니다.


T.B의 SNS이야기 소식은 T.B를 팔로윙(@ph_TB) 하시면 실시간으로 트위터를 통해서 제공 받을 수 있습니다.

728x90
반응형
Posted by T.B

댓글을 달아 주세요

  1. BlogIcon 가온대 2016.01.22 10:39 신고  댓글주소  수정/삭제  댓글쓰기

    참고로 카톡은 백그라운드 새로고침 꺼도 메세지 제대로 도착합니다

    • BlogIcon T.B 2016.01.22 10:40 신고  댓글주소  수정/삭제

      일부 메시징 앱, 게임 등은 앱 스위처와 관계 있어요. 예를 들자면 파우스가 아닌 리프레시가 되버리는..