안드로이드 사용자 모임 게시판
(글 수 3,442)
사실 전에 두 OS의 멀티태스킹에 대해 글을 썼었는데요.
http://www.androidpub.com/502288
재구님 의견으로 보아 iOS4는 멀티태스킹이 백그라운드에서 계속 작업을 하는 것은 아니고,
작업중이던 데이터를 메모리에 두고 다른 작업을 하는 식이라고 이해했었는데요...;
그게 아니었더라고요; 밑에 추가로 댓글 다신 분들 의견에서도 알 수 있듯이
뒷단에서도 계속 돌아갈 수 있나봐요?
사실 저는 아이폰 OS가 멀티태스킹이 없는 대신 배터리 소모가 적을 것이라는
큰 메리트를 느끼고 있었는데요,
정작 생각을 해보지 못한 것이 있네요.
안드로이드는 멀티태스킹이 자유롭습니다.
그런데, 생각만큼 아이폰보다 달리는 배터리 소모를 보여주진 않는 것 같아요.
그러니까, 멀티태스킹 안하던 3Gs 이하 제품들과
현존하는 안드로이드폰들의 배터리 소모량이 크게 차이가 나지 않는다는 것이죠.
이 점에서 메리트가 사라지는데요,
혹시 이번에 스카이프 업데이트로 아이폰의 배터리가 무자비하게 잡아먹힌다는 소식을 들으셨나 모르겠네요.
이런식이면 굳이 멀티태스킹에 제약을 건 iOS4도 메리트가 없는 것 아닌가요?
(물론 멀티태스킹 제약이 배터리 때문이 아니라는건 압니다;)
제가 폰들의 배터리 사용량이 어떻게 되는지 모르는 상태에서 쓴 글이기에
오해의 소지가 다분할 수 있습니다.
그런 점은 댓글로 남겨주세요^^ 깨우치겠습니다 =ㅅ=)!!!
막상 쓰고 보니 결론이 안보이네요 -_-;
그러니까, 저는 안드로이드폰이 배터리 소모가 많다는 말을 많이 들어서
아이폰은 멀티태스킹이 안되니 멀티태스킹하는 안드로이드가 더 빨리 다나보다 라고
생각하고 있었는데, 제한적 멀티테스킹을 도입하고 이런 문제가 생겨서요.
안드로이드가 아이폰보다 배터리 사용량이 우수한 것 아니냐? 라는 것입니다!
lifecluee@gmail.com
2010.07.26 00:37:19
iOS4와 안드로이드 멀티태스킹의 차이는 백그라운드에서 할 수 있는 일의 차이일 것입니다.
안드로이드는 서비스 선언만 하면 어떠한 일이든지 다 시킬 수 있지요. 부팅하면서 자동으로 서비스가 실행되도록 하는 것이 가능하고, 안드로이드에서 할 수 있는 작업은 뭐든지 수행가능합니다.
iOS4의 경우에는 멀티태스킹 api가 제한적이라서 할 수 있는 작업이 몇가지 없지요.
2010.07.26 05:46:31
재구님의 말씀대로 입니다. 안드로이드의 프로세스 생명주기는 pause()라는 구분되는 상태를 가지고 있습니다. 만약 어플리케이션을 사용중 다른 어플리케이션(정확히는 액티비티)을 사용하게 되면 전의 어플리케이션에 포함된 각종 프로세스는 현재 상태를 저장하고 Pause()상태로 들어가지요. 이때, 메모리 및 배터리 소모는 거의 없습니다.
아이폰은 iOS4부터 OS단의 프로세스관리가 아닌, 어플리케이션 별로 현재 상태를 저장하고 복원할 수 있는 기능을 추가하고, 그 리스트를 OS가 관리하는 식으로 부분 멀티태스킹 기능을 추가하였습니다. 개념적으로는 안드로이드와 유사한 반-멀티태스킹 기능이지만, 안드로이드가 OS단에서 프로세스를 관리하는데 비해, iOS는 각각의 어플리케이션이 각자 상태를 저장하고 복원하는 과정을 거치도록 하고 있지요.
iOS4 초기에 멀티태스킹 기능이 단순한 어플리케이션 이용내역을 알려주는 History에 불과하다는 지적을 받은 것인 어플리케이션에서의 기능 추가가 이루어지지 않았기 때문입니다.
2010.07.26 10:27:26
iOS4의 멀티태스킹에 대해선 많은 사람들이 자세히 모르시는 것 같아서 보충합니다.
위에서 돈육님이 말씀하신 내용은 이번에 추가된 7가지 멀티태스킹 기능 중 '빠른 앱 전환' 기능입니다.
그외의 기능 중 푸쉬 알림은 이미 이전부터 사용하고 있던 기술이고, 특정시간에 알림을 뛰울 수있는 로컬 알림이 새로 도입되었습니다.
백그라운드 음악재생은 기존 iPod만이 독점하던 기능을 다른 음악앱에게 허용하였죠.
그리고 가장 중요한 내용은 앱들이 백그라운드에서 위치를 계속 추적할 수 있고, VoIP기능을 사용할 수 있게 되었습니다.
근데 적으면서 봐도 진짜 할 수 있는게 없어 보이는데, 어떻게 생각하면 대부분의 경우는 저걸로도 거의 커버 할 수 있어 보이기도 하고.. 여튼 좀 애매하게 멀티태스킹을 허용하고 있습니다. ㅡ.ㅡ;
실제로 사용자가 뛰어서 실행하는 앱은 백그라운드에서 작업할 필요가 없는 경우가 대부분이라서 저걸로 커버할 수 있을 것 같습니다만, 안드로이드에서는 여러가지 이벤트 발생시 자동으로 처리해줌으로서 안드로이드 OS자체가 제공하지 못하는 편리 기능들을 제공하고 있지요.
카드 승인 문자가 오면 자동으로 가계부 정리해주는 '카드생활'이나, 헤드폰을 꽂으면 자동으로 볼륨을 낮춰주는 'Level-headed' 등의 앱, 전화/문자가 광고성일 경우 경고해주는 '후아유' 등등 진짜 멀티태스킹을 허용함으로서 등장한 편리한 앱입니다만, 애플의 경우 이런 것을 전혀 허용을 안하고 있는 셈이죠. 대신 좀 더 보안성에서 강점이 있습니다. 안드로이드의 경우 악의적인 목적으로 사용되는 코드가 멀티태스킹으로 실행이 될 가능성이 있으니까요.
그런데 배터리 소모로 이야기를 돌리면, 배터리 소모의 대부분은 사실 디스플레이와 무선 네트워크/음성통화에 의해서 소모됩니다. 멀티태스킹으로 코드 몇개 백그라운드에서 실행되고 안되고는 작은 차이야 주겠지만, 대세에는 크게 영향이 없죠.
백그라운드로 가면 동작이 멈추거나 중지되죠.(백그라운드작업을 하게 코딩했으면 물론 돌아가겠죠)
그래서 그렇게 배터리가 많이 달지는 않습니다.(백그라운드 앱들은 잘 관리해주면)