리뷰(게임, 하드웨어, 칼럼, 영상리뷰) 게시판은
닥터몰라 운영진이 작성한 게시글을 보는 게시판으로 회원들의 작성은 금지되어 있습니다.
(단, 좋은 글이 있으면 글 작성자의 허락과 운영자의 회의를 통하여 리뷰게시판으로 이동 됩니다.)
조회 수 3024 추천 수 11 댓글 16
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
Extra Form

iPhone-appswitcher-thumbnail.jpg

* iOS 11 베타의 멀티태스킹 스위처

 

어제 대표적인 애플 블로거 중 한 명인 존 그루버가 자신의 블로그인 ‘Daring Fireball’에 글을 올렸습니다. 바로 “iOS에서 앱을 강제 종료하지 말라”라는 글입니다.

iOS에 관한 가장 큰 오해는 바로 사용하지 않는 앱은 강제로 종료하는 것이 디지털 위생을 위해 좋다는 것이다. 백그라운드에 있는 앱이 쓸데없이 RAM을 점유하고, CPU 자원을 잡아먹어서 성능의 저하와 배터리 소모를 높인다는 생각이다.

iOS는 그렇게 동작하지 않는다. iOS 시스템은 위의 강제 종료를 하는 이유가 전혀 신빙성이 없도록 설계됐다. (후략)

주변을 보면 아이폰에서 앱을 사용한 후 일일이 강제 종료하는 사용자가 많이 보입니다. 아마 닥터몰라 독자 여러분 중에서도 이 습관을 가지고 있는 분이 있을 거라고 생각됩니다.

 

이 습관은 평소 일반 데스크톱 PC를 사용하던 습관에서 비롯됐다 짐작할 수 있습니다. 실제로 데스크톱 OS는 앱을 열어놓으면 열어놓을수록 RAM과 CPU 자원을 더 잡아먹으니까요.

 

하지만 iOS의 멀티태스킹 방식은 데스크톱 OS와 많이 다릅니다. 애플은 아이폰이 처음 나왔을 때부터 iOS에서의 배터리 소모와 성능 문제에 상당히 심혈을 기울여 왔는데, 그래서 macOS 기반이기에 멀티태스킹이 가능했음에도 불구하고 첫 3년 동안은 지원하지 않았을 정도입니다. (애플이 처음에 멀티태스킹의 대안으로 제안한 것이 바로 푸시 알림이었습니다)

 

지금 iOS가 사용하는 멀티태스킹 시스템 또한 이러한 애플의 고집(?)이 그대로 들어가 있습니다. 현재 사용하지 않는 앱은 계속 실행되고 있는 것이 아닌, 일시 정지 상태에 들어갑니다. 이 일시 정지 상태는 RAM에서 매우 작은 공간을 차지하고, CPU 점유율도 사실상 0에 가깝습니다. 그리고 멀티태스킹 스위처나 홈 화면에서 일시 정지 상태에 있는 앱을 선택하면 그때 iOS가 그 앱의 일시 정지 상태를 푸는 것입니다.

 

이 전체 과정이 얼마나 효율적이냐면, 오히려 앱을 강제 종료한 다음, 그 앱을 다시 여는 것이 위의 과정보다 배터리 소모가 더 큽니다. 배터리를 아낀다며 들인 습관이 오히려 그냥 iOS가 알아서 앱을 관리하도록 내버려두는 것보다 배터리를 더 잡아먹는 아이러니가 발생하는 셈입니다. 거기에 앱을 강제 종료하는 것은 iOS가 메모리에 앱을 저장해놓는 작업 흐름을 완전히 깨는 행위이며, 여기에 iOS가 작업 흐름을 재설정하느라 CPU를 더 잡아먹기도 합니다.

 

애플은 이 미신(?)과 꾸준히 싸워 왔습니다. 지금 애플의 지원 문서에도 “앱이 반응하지 않는 경우에만 강제로 종료해야 합니다”라고 안내하고 있으며, 멀티태스킹이 처음으로 도입된 2010년에도 스티브 잡스가 한 고객에게 다음과 같은 이메일 답장을 보낸 적이 있습니다.

그냥 설계된 대로 [iOS 멀티태스킹]을 사용하시면 즐겁게 쓰실 수 있습니다. 굳이 앱을 종료할 필요가 없어요.

20160311005359579952.png

 

* 페데리기가 고객에게 자신은 강제로 앱을 종료하지 않는다고 답한 이메일 

 

작년에는 애플의 소프트웨어 엔지니어링 수석 부사장인 크레이그 페데리기가 자신이 앱을 강제로 종료하는지, 그리고 그 습관이 배터리 소모를 줄이는지 질문을 받았을 때, 짧게 “아니오, 그리고 아니오”라고 답하기도 했습니다.

 

ios11backgroundapprefresh.jpg

* iOS 11부터는 백그라운드 앱 새로 고침을 와이파이에 연결했을 때만 실행하도록 설정할 수도 있습니다.

 

물론 상황에 따라 iOS가 자동으로 백그라운드에 있는 앱의 데이터를 받아오는 백그라운드 앱 새로 고침 기능을 통해 약간의 CPU와 RAM 자원을 사용할 수는 있습니다. 하지만 이 사용량도 iOS가 배터리 소모를 최우선으로 두고 실행하기 때문에 앱을 강제 종료하고 다시 여는 것보다 적습니다. 그리고, 굳이 앱을 강제 종료하지 않아도 설정에서 백그라운드 앱 새로 고침을 켜거나 끌 수 있고, 원하는 앱만 골라서 켜고 끌 수도 있습니다. iOS 11부터는 백그라운드 앱 새로 고침을 와이파이에 연결됐을 때만 실행하는 설정도 추가돼 데이터의 예기치 않은 소모를 막을 수도 있습니다. (개발자 베타 3 / 공개 베타 2 기준, 최종 버전에서 바뀔 수 있습니다)

 

물론 이 글 하나로 습관이 하루아침에 바뀔 가능성은 적습니다. 습관이라는 것은 그렇게 무서운 것이니까요. 하지만 기억할 것은, 그 습관이 독자 여러분의 아이폰과 아이패드의 배터리를 더 빨리 소모하고 있다는 것입니다.

  • profile
    Warlord 2017.07.21 14:42
    아이패드를 쓰는데 오늘부터 강제종료를 하면 안 되겠군요
  • ?
    슈가프리 2017.07.21 16:04

    아이폰에서 Google Keep 이라는 메모 앱을 쓰는데 피시에서 메모를 작성하면 안드로이드폰에서는 즉시 동기화가 이뤄줘서 구글 킵을 실행하면 메모가 반영이 되있는데 반해 아이폰에서는 동기화가 미리 되질않고 앱을 실행해야만 그때서야 동기화가 이뤄지더군요.

    이 차이로 인해 쓰면서도 은근히 불편함을 느낍니다. 왜 그런것인가 알아봤는데 '백그라운드 APP 새로 고침'에는 구글 킵이 없어서 실시간 동기화가 되지않는것 같습니다. 다른 앱들은 존재하는데 말이죠
    애초에 iOS는 안드로이드와 달리 멀티태스킹이 되지않는다고 봐야겠어요

  • profile
    쿠도군 2017.07.22 23:24
    그건 구글 쪽에서 앱을 그렇게 만들기로 결정한 게 이유입니다.
    iOS 시스템상 백그라운드에서 업데이트하도록 지원하지 않을 기술적 이유는 없습니다.
  • ?
    슈가프리 2017.07.24 12:40

    구글이 그렇게 만들기로 했다면 참 멍청한 짓이네요 구글킵의 가장 이해 안가는 점이 무엇이냐면

    만약에 피시에서 메모를 작성하고 특정시간에 알림이 발생하도록 예약했다면

    아이폰에서는 구글 킵을 알림 발생시간전에 미리 실행하지않으면 시간이 되도 알람이 뜨질 않습니다. 이게 쓰라고 만든겁니까?

  • ?
    Rantert 2017.07.21 17:51
    반쯤 개소리네요. 배터리먹을까봐 강제종료가아니라 많이켜두면 리프레시되니까 꺼두는건데 말이죠 ㅡ.ㅡ 안드로이드만큼 램6기가넣으면 걱정안하겟지만 경헌상 2~3기가정도면 많이켜두면 간혹 안꺼놓은것도 꺼져서 리프레시해야하기때문에 그게싫어서 안쓰는거 강종시키는건데..
  • profile
    쿠도군 2017.07.22 23:21

    애플에서 공식적으로 밝히는 부분인데 개소리는 아니죠. ㅎㅎ
    리프레시되는 문제는 위에서도 얘기했지만 백그라운드 앱 새로 고침 메뉴에서 원하지 않는 앱을 꺼두시면 됩니다.

     

    그리고 iOS의 이러한 시스템 구조는 안드로이드보다 오히려 멀티태스킹에서 훨씬 유리합니다. 갤럭시 S8과 아이폰 7 플러스의 소위 "스피드 테스트"를 보면 그 차이가 확연합니다. 첫 번째 바퀴에서 열었던 앱을 얼마나 메모리에 저장했는지 보는 두 번째 바퀴에서 아이폰은 2~3GB RAM으로 거의 모든 앱의 상태를 저장했지만, 4GB인 S8은 모두 다시 불러와야 했죠.

     

    https://youtu.be/-pFpv0Im1UY

  • ?
    Rantert 2017.07.23 06:22
    안드로이드랑 ios는 멀티태스킹방식이다른데 훨씬 유리하다는 말 자체가 모순입니다..

    서로다른방식을가지고 내가 더 많이되니까 멀티태스킹이 유리하다 라고 볼수는없고..

    갤럭시는 원래 터치위즈가 무거운데다가 삼성이 멀티태스킹을 강력하게 제한하는편입니다.

    사용자를 개돼지로 보는거지요 사용자가 알아서 종료할리가없으니 내가 알아서제한해줄게!

    이게 삼성마인드입니다(굳이 멀티태스킹말고 각종 인터페이스나 기능을보면 그렇습니다. 사실 그렇게가는게 기업방향에서도 맞긴합니다.. )

    또 삼성도 램크루지라서 4gb를 고집하는거지 요즘은 램6기가가 대세입니다.. 6기가랑 비교하는게맞죠

    삼성도 애플따라가는중입니다. 터치위즈가 순정보다 훨씬무거운데도 플래그십에 4기가를넣었으니까요..
  • ?
    RuBisCO 2017.07.24 03:01
    그 부분은 안드로이드 자체에서 발생한다기 보단 서드파티의 문제입니다. 삼성, 화웨이 등의 일부 제조사는 눈속임을 위해서 어플을 서스펜드 상태로 돌리는게 아니라 메모리에 올려놓는 어플리케이션 갯수를 강제로 제한합니다. 3-4개 정도만 켜지면 바로 백그라운드의 어플 중 일부를 강제로 내려버리기 때문에 발생하는겁니다. 어플리케이션 개발사들도 문제인데 바로 복귀하는 대신에 강제로 어플을 재시작하게 만든 경우가 많아요.
  • ?
    Rantert 2017.07.24 11:20

    그 문제떄문에 삼성을 상당히싫어합니다. 이거 뭐 진짜 사용자를 개돼지 반병신 취급하는 정책이라서요. 사용자가 알아서끄지않을테니 내가꺼줄게! 이건데 그럼 설정에서 하드유저들을 위한 세팅이라도 넣어주던가요 -_- 그게 어려운것도아니고 참나.. 고성능모드는 넣어놓고 왜 그런거 해제해줄생각은 못하나모르겠어요..

  • ?
    molla 2017.07.24 11:35
    안드로이드와 iOS는 멀티테스킹 방식이 다른 것입니다.
    각각 장단점이 있는 것일 뿐이지, 어느 한쪽이 일방적으로 좋다고 할 수는 없습니다.

    스피드 테스트 이슈는 다른 분들도 말씀하시는 것처럼 삼성의 문제입니다. 같은 안드로이드 중에서도 삼성이 특히 이 부분이 문제가 많지요.
    그리고 저는 그 테스트 자체가 iOS 쪽에 더 유리한 방식이라고 생각하는 편입니다. 일반적인 사용자들이 그렇게 많은 앱들을 순차적으로 실행하는 일은 많지 않다고 보기 때문이지요.
  • profile
    쿠도군 2017.07.28 10:42
    앱의 수가 극한 환경으로 밀어붙일 정도로 많긴 합니다만, 앱이 얼마나 오랫동안 상태를 저장할 수 있나를 보기 위해서는 나름 적절한 테스트이긴 합니다. 이걸 측정하려면 어느 정도 극한으로 밀어붙여야 하긴 하니까요.
  • ?
    HedKandi 2017.07.25 18:41
    애초에 만든 사람이 그렇다고 하는데 개소리라니요 ㅋㅋㅋ
  • ?
    Rantert 2017.07.25 22:46
    저 말자체가 헛소리는 아니겠죠. 근데 닫는이유가 저런이유로 닫는게 전부는 아니라는거죠.
  • ?
    따미 2017.07.21 22:47
    배터리는 몰랐지만 램 안먹는건 알고 있었기에 항상 안껐지만 iso10 올리고 나서 사파리가 웹을 못 연다 던가 앱스토어가 열리지 안고 계속 로딩중이 걸리길래 앱종료 했더니 열리더군요 그때부터 앱을 계속 닫는 습관이 생겻네요
  • profile
    쿠도군 2017.07.22 23:26
    물론 문제를 일으키는 앱은 종료를 시키는게 맞습니다.
  • ?
    molla 2017.07.24 11:37
    저도 예전엔 항상 저렇게 썼었는데, 어느새부턴가 신경 끄고 살게 되더군요. : )
    요즘엔 본문 내용처럼 강제 종료는 잊고 삽니다. (다만 가끔 제대로 종료되지 않는 네비등이 있어서 이것들은 꼭 꺼 줄 필요가 생기더군요.)

List of Articles
번호 분류 제목 게임 글쓴이 날짜 조회 수
» “iOS에서 앱 강제 종료하지 마세요” 16 file 쿠도군 2017.07.21 3024
Board Pagination Prev 1 Next
/ 1