freeboard
�� �б�
제목 아이폰의 멀티태스킹 '쌓이면 지워야 한다?' (안랩) 추천 0 IP 주소 125.140.xxx.156
글쓴이 셀리안 날짜 2015.10.16 10:16 조회 수 1209

출처: http://www.ahnlab.com/kr/site/securityinfo/secunews/secuNewsView.do?seq=18903


       

iOS와 관련해서는 잘 못 알려진 사실들이 많다. 애플 지니어스(Apple Geniuses)와 같은 믿을 만한 소식통으로 여겨지는 곳도 제대로 파악하지 못한 것들도 있다. 특히, iOS의 멀티태스킹 동작 방식은 여러 가지 부정확한 것들이 마치 사실처럼 이야기 되고 있다. 
 
많은 사람들은 다음과 같이 이야기 한다.
 
"iOS 기기에서 멀티태스킹 바에 있는 모든 앱들은 모두 활성화된 상태이기 때문에 속도 저하, 메모리 차지, 또는 배터리 소모를 유발한다. 그렇기 때문에 성능과 배터리 수명을 극대화하기 위해서는, 수동으로 그러한 앱들을 종료시켜야 한다."
  
하지만 iOS 멀티태스킹 바에 모든 실행 중인 앱 목록이 포함되는 것은 아니다. iOS 멀티태스킹 바에는 가장 최근 사용된 앱이 순서대로 포함될 뿐이다. 그러므로 사용자는 iOS 상의 백그라운드 태스크를 관리할 필요가 없다.
 
앞으로 이야기 할 몇몇 사례를 제외하고, 멀티태스킹 바에 있는 앱들이 모두 실행 중인 것은 아니다. 사용자가 홈 버튼을 누르면, iOS는 실행 중이던 앱을 종료한다. 거의 모든 경우에 앱은 종료되고 프로세서 타임(그러므로 배터리도)의 사용이 중단되며 필요한 경우에는 사용 중이던 메모리도 회수된다.
 
 
앱의 5가지 상태
 
iOS 앱에는 다음의 5가지 실행 상태가 있다.
 
• 비실행 : 중지 혹은 실행되지 않은 앱의 상태.
 
• 비활성 : 실행되었지만 이벤트를 받지 않고 있는 앱의 상태 (예를 들어, 앱이 활성화된 상태에서 기기가 잠금 설정된 경우)
 
• 활성 : “사용 중”인 앱의 일반적인 상태.
 
• 백그라운드 : 화면에 나타나지 않지만 코드는 여전히 실행되고 있는 상태.
 
• 중지 : 메모리 상에 존재하긴 하지만 코드가 실행되고 있지는 않은 상태.
  
여기에서 활성이냐 비활성이냐는 서로 관련이 없다. 대부분 혼란스러운 것은 활성에서 백그라운드로, 중지로 그리고 비실행 상태로 바뀌면서 어떻게 되는가 이다. 
  
사용자가 홈 버튼을 누르면, 앱은 활성에서 백그라운드 상태로 바뀐다. 그러면 대부분의 앱들은 몇 초가 지나면 백그라운드에서 중지 상태로 변환된다. 중지된 상태의 앱들은 기기의 메모리 상에 남아 있는다. 그러므로 다시 활성 상태로 바뀔 때 재빠르게 상태가 전환될 수 있다. 이러한 상태의 앱들은 프로세서 시간과 배터리 전력을 소모하지 않는다.
 
앱이 메모리 상에 잔류한다면 메모리를 절약하기 위해 수동으로 그것을 제거해야 한다고 생각하는 사용자들도 있을 수 있다. 그러나 그렇게 할 필요는 없다. iOS가 그러한 작업을 알아서 수행하기 때문이다. 사용자가 게임과 같은 메모리를 많이 소비하는 앱을 실행하는 경우, iOS는 메모리에서 중단 상태의 앱을 제거하고 비 실행 상태로 전환시킨다. 즉, 그러한 앱들은 메모리 상에서 완전히 삭제되고 차후에 사용자가 해당 앱을 다시 누르면 새로운 상태로 실행된다.
 
“이러한 상태들이 멀티태스킹 바에는 반영되지 않기 때문에” 여기에서 혼란이 발생한다. 멀티태스킹 바는 앱의 상태가 백그라운드, 중지, 혹은 비 실행 상태인지에 관계 없이 최근에 실행된 앱의 목록만을 보여준다(현재 활성 상태인 앱은 멀티태스킹 바에 나타나지 않는다.). 
 

백그라운드 태스크
 
필자가 좋아하는 팟캐스트 앱인 인스타캐스트(Instacast)와 같이 약간 용량이 큰 파일을 웹에서 다운로드하는 앱을 예로 생각해보자. 활성 상태인 경우 인스타캐스트는 새로운 팟 캐스트를 다운로드하기 시작한다. 기본 설정으로, 사용자가 아이폰에서 홈 버튼을 누르면, 인스타캐스트는 중지 상태로 전환되기 전 5초 동안 백그라운드 상태로 실행된다. 그렇게 되면 팟캐스트의 다운로드가 중단되고, 파일 크기 때문에 약간의 시간이 소모된다. 
 

그러나 iOS는 백그라운드 상태에서 실행 시 시간이 많이 소요되는 작업이 있는 인스타캐스트와 같은 앱의 경우 유예를 허용하기도 한다. 인스타캐스트 앱은 “백그라운드 태스크”로 팟 캐스트를 다운로드할 것이라 요청할 수 있다. 그렇기 때문에 사용자가 홈 버튼을 누른 이후에도 다운로드를 완료하기 위해 추가적인 백그라운드 실행 상태를 유지할 수 있다. 
 

인스타캐스트가 하루 종일 실행되는 것은 아니다. iOS가 강제로 앱을 중지시키기 전 앱은 약 10분의 백그라운드 실행 상태를 유지할 수 있다. 그렇지만 그러한 기능은 일반적인 사용자가 걱정할 정도는 아니다.

 

 

무한 백그라운드 실행
 
그러므로 모든 앱은 종료 작업을 마무리하기 위해 5초의 백그라운드 실행 상태를 유지하고 몇몇 앱(인스타캐스트와 같은)은 10분간의 연장 시간을 요청할 수 있다. 그러나 몇몇 앱들은 백그라운드로 계속해서 실행될 필요가 있고 iOS는 그러한 기능을 허용한다.  
 
iOS 5에서 무한 백그라운드 실행 상태를 가질 수 있는 앱의 종류는 다음과 같이 5가지가 있다.
 
• 백그라운드 상태로 오디오를 재생하는 앱 : 팟캐스트를 재생하는 인스타캐스트가 그러한 예이다.
 
• 백그라운드로 사용자의 위치를 추척하는 앱 : 예를 들어, 사용자가 다른 앱을 실행하고 있는 상태에서 턴-바이-턴 GPS 내비게이션의 음성 명령을 이용하고자 하는 경우.
 
• VoIP 콜의 수신을 대기하는 앱 : iOS에서 스카이프(Skype)를 사용하는 경우, 백그라운드 상태에서 스카이프 통화 수신을 대기할 수 있다.
 
• 새로운 콘텐츠를 다운로드하는 뉴스 앱
 
• 백그라운드에서 외부 장치로부터 지속적으로 업데이트를 수신하는 앱 
 


위의 5가지 항목에 속하는 앱 중 제대로 개발된 앱들은 더 이상 작업을 수행 중이지 않는 경우 중지 상태를 유지한다. 인스타캐스트에서 팟캐스트 실행이 완료된 경우, 중지 상태로 바뀐다. iOS에서 백그라운드로 무한 실행되는 내장 앱도 있는데, 사용자들이 가장 많이 사용하는 그러한 앱으로는 메일(Mail)이 있다. 
 
이러한 앱이 백그라운드 상태로 실행되는 한, 메모리, CPU 타임, 그리고 전력은 소비되기 마련이다. 백그라운드 상태에서 무한 실행될 수 있는 앱은 활성 상태에서 할 수 있는 모든 기능을 할 수 있다는 것이 중요하다. 그러한 기능에는 오디오 재생 혹은 사용자 위치 추적 이상의 매우 다양한 것들이 있을 수 있다. 예를 들어, 인스타캐스트는 오디오를 재생하는 동시에, 백그라운드 상태로 계속해서 새로운 에피소드를 다운로드할 수도 있다. 
 
일반적으로 사용자는 이런 앱을 사용하고 있다는 것을 알아야 한다. 개발자는 백그라운드 실행 상태 중 어떠한 유형을 요청하는지 밝혀야 하고, 비록 모든 앱 스토어 리뷰가 항상 완벽한 것은 아니지만, 앱 스토어 리뷰 과정에서 이런 내용이 남용되지 않는 가를 확인해야 한다. 
 
앞에서 “사용자는 iOS 상의 백그라운드 태스크를 관리할 필요가 없다”고 했다. 이것의 유일한 예외는 이러한 백그라운드 실행 앱이 이상 상태에 빠지거나 적절하게 중지 되지 않는 경우이다. 그러한 경우, 사용자는 멀티태스킹 바에서 해당 앱을 수동으로 삭제할 수 있다. 그러나 이러 경우는 흔치 않고 iOS 사용자에게 일반적인 것은 아니다. 그렇기 때문에 필자는 위치 서비스를 사용하는 앱이 보여지는 것과 유사한 방식으로 iOS가 현재 어느 앱이 무한 백그라운드 상태인지를 더 잘 보여줄 수 있을 것이라 생각한다. 
 
 
요약
 
이 글을 요약하자면 다음과 같다:
 
1. 누군가가 멀티태스킹 바에 있는 모든 앱은 실행 중이어서 메모리와 전력은 소비한다고 말한다면, 그것을 틀린 말이다.
 
2. 사용자가 홈 버튼을 누르면, 앱은 활성 상태에서 백그라운드 상태로 전환되고 재빠르게 중지 상태로 바뀌어 CPU 타임과 전력을 더 이상 소비하지 않는다.
 
3. 중지 상태로 바뀌기 전 대규모 작업의 완료를 위해 앱은 10분 간의 추가 시간을 요청할 수 있다.
 
4. 만약 메모리가 부족한 경우, iOS는 자동적으로 중지 상태인 앱을 비 실행 상태로 전환하고 메모리를 회수한다.
 
5. 오디오, GPS, VoIP, 뉴스, 그리고 외부장치 앱 등 5가지 종류의 앱과 메일과 같은 몇몇 내장 앱은 작업 완료 시까지 백그라운드에서 무한 상태로 실행될 수 있다. 
 

간단히 말해서, 사용자는 iOS에서 백그라운드 태스크를 관리할 필요가 없다. 시스템이 알아서 거의 모든 것을 처리하고 제대로 개발된 오디오, GPS, VoIP, 뉴스, 그리고 외부장치 앱이 나머지를 처리할 수 있다.@

 

IDG Korea


CSO, PC World, Computer World, CIO, Macworld 등으로 잘 알려진 IDG는 90여 개국에서 180여 미디어를 발행하는 글로벌 테크놀로지 미디어로, 전 세계에 1억 4000만 명의 독자를 대상으로 미디어, 리서치, 컨퍼런스, 이벤트 등 다양한 테크놀로지 관련 서비스를 제공하고 있습니다.


http://www.idg.co.kr/event/whitepaper/whitepaper_list.jsp?input_tag=AH000

번호 제목 글쓴이 날짜 조회 수 추천 수
공지 언더케이지 게시판 이용안내 (11/11/2016 개정) [11] KGNEWS 2016.11.11 90015 0
공지 언더케이지 리뷰 관련 FAQ (2016.10.10) [26] UnderKG 2016.10.10 46657 1
공지 서비스 제휴 관련 안내입니다. [10] UnderKG 2014.06.25 120330 0
13912 갤럭시 S4 로즈골드 [4] Ssean 2015.10.16 899 0
13911 어우야 레슨하고 폰키니 댓글이 34개나... [5] SHOSTAKOVICH 2015.10.16 595 0
13910 V10 구경해봤습니다 [2] 프로사망러 2015.10.16 801 0
13909 삼성광고 [8] MANGOsteen 2015.10.16 622 0
13908 캣맘 살인사건 [33] wooswan 2015.10.16 669 0
13907 내일 킨텍스에 전자전에 가려고합니다 [5] AA건전지팡이 2015.10.16 357 0
13906 스마트폰 잘못된 상식 3가지 [영상] [11] brainer 2015.10.16 1011 0
13905 삼성 모바일 스토어 안락점 에서 찍은 SKT BAND요금제 SKT3173 2015.10.16 800 0
13904 음... [2] 갤A7_2017로복귀 2015.10.16 167 0
13903 노트5 실버 티타늄 32, 64 GB 10월 30일까지 판매 [3] file SKT3173 2015.10.16 735 0
13902 애플이 [6] Aple6307 2015.10.16 466 0
13901 얼마전에 아육이랑 육엣지 교환했었는데요. [5] 옥돌의날개 2015.10.16 496 0
13900 TV 사면 BMW 드려요 [3] file Ciel1 2015.10.16 592 0
13899 sk는 사전 예약 공지 떳네요 [5] 다른사람생겼어 2015.10.16 491 0
13898 삼성이 뭐만하면 애플따라한다고 하는거 좀 이상한데요... [31] SHOSTAKOVICH 2015.10.16 899 0
13897 야식 [10] F430SCUDERIA 2015.10.16 321 0
13896 아이폰 오줌액정에 대해 팔팔이 2015.10.16 877 0
13895 인간의 욕심은 끝이 없고 같은실수를 반복한다 아메리칸흙곰 2015.10.16 490 0
13894 V10 외형적으로 딴건 다 좋은데.... [5] 신노 2015.10.16 808 0
13893 [KHV]기어S2(블루투스)배터리사용량 테스트 [12] file 강호 2015.10.16 1479 0