아이폰 백그라운드 앱 종료 - aipon baeggeulaundeu aeb jonglyo

아이폰 백그라운드 앱 종료 - aipon baeggeulaundeu aeb jonglyo
* 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 멀티태스킹]을 사용하시면 즐겁게 쓰실 수 있습니다. 굳이 앱을 종료할 필요가 없어요.

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

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

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

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

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

필자: 쿠도군 (KudoKun)

컴퓨터 공학과 출신이지만 글쓰기가 더 편한 변종입니다. 더기어의 인턴 기자로 활동했었으며, KudoCast의 호스트로도 활동하고 있습니다.


참조
• Public Service Announcement: You Should Not Force Quit Apps on iOS - Daring Fireball
• 아이폰에서 앱 강제 종료해도 배터리 시간 늘지 않는다. - 더기어

관련 글
• 애플이 macOS 10.12.2에서 남은 배터리 시간 표시 기능을 삭제한 이유는?
• 맥북, 맥북프로 배터리 잔량을 퍼센트가 아닌 '남은 시간'으로 확인하는 방법
• 애플, 아이폰 6s 배터리 무상 교체 안내 페이지에 '일련 번호 조회' 기능 추가

아이폰 배터리 관리하는 방법 아시나요?
다양한 내용들이 있지만 그중에 꼭 들어가는 내용은 백그라운드 앱 종료시키기입니다.
내가 실행했던 앱들이 그대로 켜져 있기 때문에 계속 소비전력이 발생되고 있다고 생각해서
이런 방법이 나왔다고 생각되는데 사실 저도 항상 이렇게 사용하고 있습니다.
그런데 최근 이 방법이 이런 관리에 불필요하다고 합니다.
그 이유들과 다양한 의견들을 정리해보았습니다.

아이폰 백그라운드 앱 종료 - aipon baeggeulaundeu aeb jonglyo

백그라운드 앱 종료란?
아이폰의 경우 홈버튼을 두 번 연속해서 누르는 경우 지금까지 사용했던 앱들이 다 표시가 됩니다.
앱을 더 이상 사용하지 않기 위해 홈버튼 한번 누르게 되는데 이때 그 앱이 완전히 종료가 되는 게 아니라
잠시 대기 모드 상태로 두고 홈 화면으로 이동되었다고 보시면 됩니다.
여기서 대기 모드 상태로 있기 때문에 여전히 아이폰 배터리를 사용하게 된다고 보고 관리를 위해 종료를 하라고 권합니다.

하지만 사실은 이렇다.
1. 실재 배터리 배터리 소모가 일어나지 않는다.
애플 지원 문서와 iOS을 설계한 스티브 잡스의 의도는 백그라운드 앱 종료를 하지 않는 것이 좋다는 의견을 이야기합니다.
또한 이 방법은 응용프로그램의 충돌의 경우에만 앱을 종료하지 그 외에는 불필요하다고 합니다.

2. 백그라운드 앱을 다시 실행하는 데 더 많은 아이폰 배터리가 소모된다.
자주 사용하는 앱의 경우 종료하지 않는 것이 좋은 이유가 다시 실행하게 되면 그만큼의 배터리가 다시 소모가 된다는 점입니다.
실제 한번 해보시면 간단하게 이해가 됩니다.
사파리를 예를 들면 종료시키지 않은 경우 바로 사용이 가능합니다.
하지만 다시 실행되면 제 기준으로는 거의 4배 이상의 시간이 소모됩니다.

3. 하지만 아이폰 메모리 측면에서는 문제가 있지 않을까?
이것도 사실입니다.
실제 백그라운드 앱을 종료하지 않을 때는 그만큼 메모리를 사용하게 됩니다.
그래서 아이폰 배터리 관리를 위해서는 종료를 권하지 않지만 메모리 관리에서는 분명히 필요한 조치일 수 있습니다.

앱 종료를 하기 이전과 이후의 메모리 상태입니다.

백그라운드 앱 종료 과연 어떨까?
개인의 선택이라고 생각됩니다. 잡스나 애플의 기술 지원 문서에는 아이폰 배터리 관리나 메모리 관리를 위해서 이렇게 하라고 이야기하고 있지 않고 원활한 사용을 위해서 종료를 권하지 않습니다.
다시 시작할 때 로딩 시간으로 인해 그만큼의 배터리가 소모되기 때문에 이렇게 하라고 합니다.
즉 활용성의 입장에서 이야기할 뿐이지 정확한 데이터와 메모리 상태 등을 비교하지 않습니다.
또한 비교한다고 해도 어느 것을 선택해야 할지 곤란해집니다.
그런 점에서 개인의 선택이 맞는다고 저는 정리를 합니다. 다시 로딩을 하는 데 사용되는 데이터나 배터리 등은 그렇게 큰 영향을 주는 것 같지 않기 때문입니다.

하지만 이 설정만큼은 하자.
바로 백그라운드 앱 새로 고침입니다.
아이폰 배터리 관리에서 가장 중요한 부분으로 나는 사용하지 않음에도 불구하고 전력이 소비되게 됩니다.
또한 데이터도 계속 사용되기 때문에 가능하면 끔으로 하는 게 좋을 듯합니다
방법은 설정 - 일반에서 이 기능을 끔으로 하시면 됩니다.