overthought.org에 올라온 Background App Refresh Explained in Layman's Terms을 옮겨 왔다.


나는 백그라운드 앱 새로 고침을 끄라고 하는 블로그를 매우 싫어한다. 이처럼 "배터리 소모를 적게 하는 방법"과 같은 글은 대부분 조회수를 높이려 쓰여질 뿐, 정확한 정보를 전달하지 않는다. 백그라운드 앱 새로 고침에 대해 정확한 정보를 남겨 두려 한다.

백그라운드 앱 새로 고침은 사실 iOS 7에 새로 추가된 매우 좋은 기능이다. 이는 기기의 자원을 효율적으로 사용하고, 사용자가 기기를 사용하는 방식에 거의 영향을 끼치지 않으면서도 앱이 새로 고침을 할 수 있도록 한다.

백그라운드 앱 새로 고침은 앱이 아무 때나 동작하도록 허용하지 않는다. 이는 기기가 백그라운드에서 앱을 관리하는 방식에 일종의 '지능'을 부여한다. 나는 이것이 어떨 때에는, 오히려 iOS 기기의 전력 효율을 높일 수도 있다고 생각한다.

백그라운드 앱 새로 고침이 iOS 경험에 어떤 영향을 끼치는지는, 애플의 iOS : 멀티태스킹 이해라는 글의 설명을 보면 알 수 있다.

App은 짧은 기간 동안 계속 실행된 다음, 활발하게 사용되거나 열려 있거나 시스템 리소스를 차지하지 않도록 중단된 상태로 설정할 수 있습니다. 해당 App으로 돌아가면 바로 실행됩니다.

특정 작업이나 서비스는 백그라운드에서 계속 실행될 수 있습니다. 배터리 수명에 미치는 영향을 줄이기 위해 일반적인 App 백그라운드 새로 고침은 장비를 Wi-Fi로 연결한 경우, 전원 공급원에 플러그를 꽂은 경우 또는 활발하게 사용 중인 경우와 같이 효율적인 시간에 수행되도록 예약되어 있습니다.

App의 백그라운드 작업은 '설정' > '일반' > '백그라운드 App 새로 고침'에서 조정할 수 있습니다.

백그라운드 App 새로 고침이 켜져 있는 경우 이 기능을 활용하는 App은 백그라운드에서 자체적으로 새로 고침을 수행할 수 있습니다. 예를 들어 푸시 알림을 받으면 백그라운드에 새 콘텐츠를 사용할 수 있는지 확인하거나, 업데이트를 다운로드하거나, 업데이트된 콘텐츠를 가져올 수 있으므로 App을 시작할 때 새 콘텐츠를 즉시 볼 수 있습니다. 또한 사용자의 위치를 기준으로 백그라운드 새로 고침을 예약할 수 있습니다. 멀티태스킹 디스플레이에서 위로 드래그하여 App을 강제로 종료하면 해당 App을 다시 실행할 때까지 위치를 추적하거나 VoIP 통화에 응답하는 등 백그라운드 활동을 수행할 수 없게 됩니다.

iOS에서는 사용자의 장비 사용을 기반으로 패턴을 학습하여 백그라운드에서 App을 업데이트해야 하는 경우를 예측하려고 시도합니다. 또한 야간과 같이 장비가 일반적으로 비활성 상태로 있는 시간을 학습하여 장비가 사용되지 않을 때는 업데이트 빈도를 줄입니다.

애플의 설명을 요약하면, 백그라운드 앱 새로고침은 기기를 사용하지 않을 때 앱이 지능적이고 효율적으로 동작하도록 해준다. 이는 앱이 백그라운드에서 임시 실행되어 새로운 정보를 받은 뒤 다시 멈추도록 하기 때문에, 시스템 리소스를 사용하거나 전력을 소모하지 않는다. 멋진 것은, 이미 기기를 사용하거나, 좋은 와이파이에 연결되어 있거나, 해당 앱을 자주 확인하는 위치에 있는 때에 새로 고침을 한다는 것이다. 이는 iOS 경험을 더욱 매끄럽게 만든다. 자주 사용하는 앱을 열고 새로운 정보를 불러오기까지 몇 초를 기다리지 않아도, 앱을 실행하는 순간에 새로운 정보가 이미 업데이트되어있는 것이다.

이제 백그라운드 앱 새로 고침을 활성화할지 결정하기 위해서 다음 두 가지 질문에 답해야 한다.

  1. 자주 쓰는 앱인가? / 최신 정보를 유지하는 게 중요한 앱인가?
  2. (선택적) 개발자가 백그라운드 앱 새로 고침을 제대로 활용하고 남용하지 않는다는 것을 신뢰할 수 있는가?

첫 번째 질문은 꽤나 간단하다. 앱이 항상 새로운 정보를 유지했으면 하는가? 그렇다면 해당 앱의 백그라운드 앱 새로고침을 활성화하면 된다.

두 번째 질문은 최신 테크 정보에 익숙하지 않다면 조금 대답하기 어려울 수도 있다. 어떤 답을 해야 할지 모르겠다면, 그냥 첫 번째 질문만 고려하면 된다.

나의 경우에는 두 번째 질문에 따라 페이스북이나 구글과 관련된 앱을 모두 비활성화했다. 난 페이스북이나 구글의 고객이 아니기 때문에, 그들에게 나의 흥미나 관심사를 알리고 싶지 않다. 두 회사는 나를 단지 광고를 시청하는 잠재적인 고객 정도로만 생각하고, 이들과 나의 이해 관계가 잘 맞지 않기 때문에, 이들이 만든 앱은 백그라운드 앱 새로고침을 모두 비활성화했다. 간단한 일이다.

두 조건을 모두 만족시킨 앱의 좋은 예시로는 Tweetbot이 있다. 나는 Tapbots의 개발자인 Paul Haddad와 Mark Jardine을 신뢰한다. 왜냐하면 이들은 환상적인 앱을 만들어왔고, Tweetbot을 사용할 때마다 새로 고침이 되어 있으면 좋겠다고 생각하기 때문이다. 나는 Tweetbot의 백그라운드 앱 새로 고침을 활성화했고, 실행할 때면 대개 새로 고침이 되어 있다. 훌륭하다.

백그라운드 앱 새로 고침은 iOS 7의 아주 좋은 기능이다. 두려움과 잘못된 정보 때문에 많은 사람들이 이를 꺼버렸다는 사실에 화가 난다. 이는 다른 기기나 운영 체제에는 없는 일종의 지능을 부여한다. 이처럼 사려 깊은 기능이야말로 내가 아이폰을 좋아하게 만드는 이유이고, 백그라운드 앱 새로 고침이 iOS의 기능으로 추가된 것은 매우 잘 된 일이다.


백그라운드 앱 새로 고침에 대해 이해하게 해주는 아주 좋은 글이다. 예전에 애플 고객지원 전화를 걸어 배터리 소모가 심하다고 했더니 이 기능을 아예 끄라고 했던 상담원이 생각난다.

나의 경우에는 트위터 클라이언트인 Tweetbot에서 백그라운드 앱 새로 고침을 매우 유용하게 활용하고 있다. 이외에도 Day One이나 Telegram처럼 신뢰할 수 있는 앱에 한해 기능을 활성화하고, 카카오톡처럼 신뢰할 수 없는 앱은 이 기능을 사용하지 못하도록 해놓았다.