진짜 멀티태스킹은?

이제 아이폰도 멀티태스킹을 지원한다. 그러나 모든 어플에서 멀티태스킹을 사용할 수 있는 건 아니다. 멀티태스킹을 사용할 수 있는 어플은 이전부터 동작했던 기본 어플, 스카이프와 같은 VoIP 어플, 네비게이션과 같은 위치 어플, 아이팟과 같은 음성 어플이다. 그러나 제한 사항이 많다 보니 여전히 불편하다. 따라서 탈옥 사용자는 기본 맬터태스킹 보다는 백그라운더와 같은 탈옥 멀티태스킹 어플을 주로 사용한다. 오늘 소개하는 Multifl0w로 탈옥폰에서만 동작하는 멀티태스킹 어플이다.

아이폰의 멀티태스킹

iOS 4의 출시 소식을 들으며 가장 반겨했던 기능이 멀티태스킹(Multitasking)이다. 스마트폰(Smart Phone)을 사용해 본 사람은 알겠지만 스마트폰에서 멀티태스킹은 일종의 계륵같은 존재다. 꼭 필요할 것 같은데 막상 써보면 쓰임새가 별로 없다. 필요 없을 것 같은데 정말 어쩌다 꼭 필요할 때가 생긴다. 그런데 멀티태스킹을 사용하다 보면 메모리 부족등 생각지도 않은 문제가 생긴다.

이런 면에서 iOS 4의 멀티태스킹은 이런 멀티태스킹의 문제점을 나름대로 고민하고 추가한 기능이라는 생각이 든다. 먼저 iOS 4의 멀티태스킹은 멀티태스킹을 사용할 수 있는 어플은 제한된다. 즉, 모든 어플이 멀티태스킹으로 동작하지 않는다. 멀티태스킹을 지원하는 어플만 배경에서 실행되며 나머지 어플은 작업전환만 된다. iOS 에서 멀티태스킹으로 동작하는 어플은 다음과 같다.

  1. 기본 어플
    전화, 메일, 사파리, 아이팟등의 기본 어플은 4.0 이전 부터 멀티태스킹으로 동작했다. 물론 기본 어플이 멀티로 동작한다는 것을 모르는 사람도 많았다. 그래서 아이폰으로 상사와 통화를 하다 홈 단추를 누르고 '개새끼'라고 했다가 문제가 된 사람도 있었다. 그러나 이 기본 어플은 iOS 4 이전에도 멀티태스킹으로 동작했으며 iOS 4에서도 멀티태스킹으로 동작한다.
  2. VoIP 어플
    스카이프(Skype)와 같은 인터넷 전화 어플(VoIP App)도 멀티태스킹으로 동작한다. 생각해 보면 이런 어플이 멀티태스킹으로 동작해야 하는 이유는 잘 알것이라고 생각한다. 이런 어플이 멀티태스킹으로 동작하지 않으면 전화를 거는 것은 가능해도 전화를 받는 것은 힘들기 때문이다.
  3. 위치 어플
    네비게이션 어플처럼 배경에서 계속해서 위치를 확인해야 하는 어플은 멀티태스킹으로 동작한다. 아이폰에서 네비 어플을 사용할 때 가장 불편한 점은 네비를 쓸 때는 전화와 아이팟만 가능하다는 점이었다. 그런데 iOS 4에서는 이런 위치 어플의 멀티태스킹을 허용함으로서 이런 불편이 어느 정도 해소됐다.
  4. 음성 어플
    이전 iOS에서는 음성 어플 중 배경에서 동작하는 어플은 아이팟이 유일했다. 아이팟은 실행하고 노래를 재생한 뒤 끝내도 노래 소리는 계속해서 나온다. iOS 4에서는 아이팟과 비슷하게 배경에서 소리는 내어야 하는 어플은 멀티태스킹을 지원한다. 한 예로 링투유라는 통화 연결음 어플도 종료해도 배경에서 음악이 계속해서 흘러 나온다.

위에 해당되지 않는 어플은 멀티태스킹으로 동작하지 않는다. 아이폰의 앱 전환기에 등록은 되어 있어도 메모리에 상주해서 배경에서 실행되지 않는다. 다만 어플을 끝낼 때 상태만 담고 있다가 다시 실행하면 원래의 상태로 그대로 복원되는 멀티스위칭만 지원한다. 따라서 아이폰 3GS의 메모리는 256MB로 작지만 iOS 4를 사용하는데 큰 문제를 발생하지 않는다.

멀티태스킹의 문제점

위에서 설명했듯이 'iOS 4'의 멀티태스킹 기능은 나름대로 고민을 많이 한 기능임에도 불구하고 쓰는 사람을 상당히 불편하게 만든다. 일단 '배경에서 실행할 어플을 선택할 수 없다'. 즉, 운영체제와 어플에 따라 알아서 멀티태스킹이나 멀티스위칭으로 전환된다. 이렇다 보니 아이폰을 사용하다 보면 참을 수 없을 정도로 많은 어플이 앱 전환기에 등록된다. 또 Remove Background SBSettings와 같은 어플이 추천 시디어 어플이 될 수 있는 이유도 이 때문이다[1].

앱 전환기에 아무리 많은 어플이 등록되도 모두 PLIST 파일이기 때문에 "메모리를 전혀 차지하지 않는 다"는 사람이 있었다. 적어도 아이폰을 껐다 켰을 때는 맞는 말이다. 그러나 실행 중에는 멀티태스킹이든 멀티스위칭이든 메모리를 차지한다. 앱 전환기에 등록된 어플을 일일이 죽인 뒤 남은 메모리와 SBSettings의 애드온인 Remove Background SBSettings를 이용해서 제거한 뒤의 남은 메모리를 비교해 보면 수십M의 차이가 난다.

이렇다 보니 많은 메모리를 차지하는 Gogo3D와 같은 어플은 아이폰을 껏다 켜야 제대로 실행되는 때가 많다. 또 메모리가 부족할 때 일부 어플을 실행하면 잠시 어는 듯한 현상이 발생한다. 개발자가 아니라 확실한 내용은 모르겠지만 '부족한 메모리확보하느라 발생하는 현상'으로 보인다. 즉, 멀티스위칭이나 멀티태스킹으로 실행된 어플은 죽일 때 모든 메모리를 반환하는 것이 아니라 메모리가 부족할 때 메모리를 확보하는 것이 아난기 하는 생각이 든다.

진짜 멀티태스킹

따라서 '탈옥폰 사용자'는 순정의 멀티태스킹 기능 보다는 UI가 더 화려하고 원하는 어플만 배경으로 돌릴 수 있는 백그라운더(Backgrounder)를 더 좋아한다. 이 부분은 나도 비슷하다. 3.1.3까지만 해도 백그라운더(Backgrounder)와 프로스위처(ProSwitcher)를 이용해서 멀티태스킹을 사용했고 iOS 4로 판올림한 지금도 계속 프로스위처를 기다리고 있기 때문이다. 그런데 시디어 어플(Cydia App)은 앱 스토어 어플과는 달리 시스템에 직접 접근이 가능하다. 시스템에 직접 접근이 가능하기 때문에 '운영체제가 판올림 되면 대부분 동작하지 않는다'.

멀티태스킹(Multitasking)도 비슷하다. 빅보스 어플(BigBoss App)이며 공개인 백그라운더는 iOS 4가 탈옥되고 며칠 뒤 iOS 4에서 동작하는 어플이 올라왔다. 반면에 백그라운더와 함께 어플 전환 GUI를 제공하는 키리캐(Kirikae), 프로스위처(ProSwitcher), 멀티폴로(Multifl0w)등은 계속해서 판올림 되지 않았다. 이렇다 보니 울며 겨자 먹기로 순정 멀티태스킹 기능을 사용해 왔다. 그런데 며칠 전 Multifl0w가 판올림되었다는 소식을 들었다. 역시 화려한 UI를 가지고 있었다.

개인적으로는 무료 시디어 어플인 프로스위처(ProSwitcher)를 더 좋아한다. 그러나 목 마른 놈이 우물판다고 예전의 백그러운더의 기능에 목이 말라 결국 Multifl0w를 설치했다. Multifl0w는 무료 어플이 아니다. 시디어에서 5불에 판매되는 유료 어플이다. 따라서 무턱대고 구매하는 것 보다는 과연 이 어플이 자신에게 필요한 어플인지 먼저 생각해 보고 구매하기 바란다. 일단 어플의 기능을 확인하기 위해 다음 동영상을 먼저 보기 바란다.

동영상 삭제 알림

그것이 알고 싶다에 출연한 뒤 제 출연분을 유튜브에 올렸습니다. 그런데 이 동영상을 SBSi에서 저작권 위반으로 신고, 유튜브 계정이 잘렸습니다. 이 탓에 유튜브에 올린 동영상 강좌 대부분이 사라졌습니다. 복구 가능한 동영상은 페이스북을 통해 복원하고 있습니다. 이 부분에 대한 자세한 이야기는 드라마 백동수에 대한 글의 남은 이야기를 보기 바랍니다.

동영상을 보면 알 수 있지만 그래픽이 상당히 화려하다. 백그라운드에서 실행하고 있는 어플의 수에 따라 '최대 9개'[2]까지 화면에 나타난다. 또 작업 전환기에서 어플을 끝내는 것도 가능하고 어플의 순서를 바꾸는 것 역시 가능하다. 다만 이렇게 배경으로 실행하는 어플의 수가 9개를 넘으면 아이폰이 죽는 경우가 가끔 발생한다. 또 9개 이상의 어플을 배경에서 실행한 뒤 화면을 바꾸는 방법도 마땅치 않다.

그러나 화려한 기능에 비해 상당히 적은 메모리를 차지하며, 어플을 죽일 때 메모리 반환율도 좋은 편이다. 다만 키리캐(Kirikae)나 프로스위처(ProSwitcher)는 작업 전환기 자체에서 어플을 배경으로 돌리는 기능이 있는데 이 Multifl0w는 이런 부가적인 기능이 전혀 없다. 판올림하며 다른 기능이 추가될 것으로 생각된다. 그러나 현재의 기능만 생각하면 5불이라는 가격은 조금 비싼 것이 아닌가 하는 생각이 든다.

Multifl0w 설치 및 사용

처음 'Multifl0w'를 설치할 때는 꼭 백그라운더가 필요한 것으로 생각했다. 그러나 백그라운더는 필요가 없었다. 처음에 아무 생각없이 Multifl0w를 설치했다. 그런데 멀티태스킹 기능이 아주 잘 동작했다. Multifl0w를 삭제한 뒤 다시 설치하며 종속성을 확인보니 백그라운더가 필요 없었다. 즉, Multifl0w는 순정의 멀티태스킹과 백그라운더의 멀티태스킹을 모두 지원한다. 따라서 순정의 멀티태스킹 기능을 이용하고, 작업 전환만 Multifl0w를 사용하고 싶다면 Multifl0w만 설치해도 된다.

그러나 앞에서 설명한 것처럼 순정의 멀티태스킹은 어플의 메모리 반환율이 좋지 않다. 또 배경에서 실행할 어플을 지정할 수 없는 단점이 있다. 이런 부분이 문제가 된다면 백그라운더와 함께 Multifl0w를 설치하면 된다. 설치하는 방법은 따로 설명하지 않겠다. 시디어를 실행한 뒤 'Multifl0w'와 'Backgrounder'를 찾아 설치하면 되기 때문이다. 설치한 뒤 어플을 선택적으로 배경에서 실행하기 위한 키만 백그라운더에서 설정하면 된다.

백그라운더에 대한 자세한 옵션은 별도의 문서를 참조하기로 하고 여기서는 백그라운더를 활성화하는 방법만 설명하겠다. 일단 설치된 백그라운더를 실행하고 'Control(via Activator) *'를 터치한 뒤 'Home Button'의 'Short Hold'를 터치한다. 어플을 실행한 뒤 어플을 배경에서 실핼하기 위해 백그라운드를 활성화하는 방법을 설정하는 항목이다. 이렇게 하면 어플을 실행한 뒤 홈 단추를 조금 길게 누르면 해당 어플이 배경에서 실행된다.

순정 멀티태스킹 죽이기

직접 죽이기

백그라운더의 설정을 보면 멀티태스킹을 지원하는 어플은 순정의 멀티태스킹을 이용하고 멀티태스킹을 지원하지 않는 어플은 백그라운더의 멀티태스킹을 자동으로 이용하도록 설정할 수 있다. 메모리가 넉넉하다면 이 방법도 좋은 방법이다. 그러나 3GS의 메모리는 작은 편이므로 이런 방법을 사용하는 것 보다는 '순정의 멀티태스킹을 죽이고 사용하는 것이 메모리 관리 및 보안상 더 유리하다'. 따라서 여기서는 순정의 멀티태스킹을 죽이는 방법을 설명하겠다.

순정의 멀티태스킹을 죽이려고 하면 N88AP.plist를 편집하면 된다. 따라서 편집은 iFile을 이용해도 되고 텔넷으로 연결한 뒤 VI 편집기를 이용해도 된다. 이런 방법이 불편하다면 해당 파일을 PC로 복사한 뒤 좋아하는 편집기로 편집해도 된다. 이런 방법은 따로 설명하지 않고 어떤 항목을 편집해야 하는지만 설명하겠다.

  1. 일단 다음 파일을 PC로 백업 및 복사한다. N88AP.plist는 중요한 시스템 파일이기 때문에 편집을 잘못하면 아이폰이 부팅되지 않거나 무한 부팅에 빠질 수 있으므로 꼭 아는 사람만 시도하기 바란다.

    /System/Library/CoreServices/SpringBoard.app/N88AP.plist
    
  2. PC로 복사한 N88AP.plist를 좋아하는 편집기로 연 뒤 다음 항목을 찾아 'true'를 'false'`로 바꾼다.

    <key>multitasking</key>
    <true/>
    
  3. 참고로 다음 두개의 항목을 'flase'로 바꾸면 추가로 '배경화면'과 '음성조절' 기능을 죽일 수도 있다.

    배경화면: <key>homescreen-wallpaper</key>
    음성조절: <key>voice-control</key>
    

    탈옥을 하고 테마를 사용하는 사람이라면 배터리 소모가 큰 배경화면 기능은 죽이는 것이 좋다.

어플 이용하기

시스템 파일을 직접 편집하는 것이 부담되는 사람은 시디아 어플(Cydia App)을 설치해서 순정의 멀티태스킹과 배경화면을 죽이는 것도 가능하다. 시디어에서 zToggle를 찾아 설치한 뒤 실행하면 선택적으로 순정의 멀티태스킹과 배경화면 기능을 죽일 수 있다. 역시 설치하는 방법과 사용하는 방법은 따로 설명하지 않겠다.

어제 트위터 어플이 계속해서 튕겨서 그동안 사용해 본 트위터 어플 중 기능이 괜찮은 어플을 설치해서 시험했다. 그 덕에 스프링보드(Springboard)에 트위터 어플이 상당히 많이 설치되어 있다. 이중 사용하는 트위터 어플은 없다. 다만 트윗버드는 예전에 비해 기능이 상당히 좋아졌다. 가장 왼쪽 그림의 가장 오른쪽 아래 아이콘이 zToggle이다.

관련 글타래


  1. 충주 번개에서 만난 한 아가씨는 이미 숙달된 듯 빛의 속도로 앱 전환기에서 이 어플을 지우는 것도 봤다. 
  2. 이 이상의 어플을 실행하는 것도 가능할 것으로 여겨지지만 이 상황에서 꼭 죽어서 확인할 수 없었다.