안드로이드를 사용하다 보면 RAM 부스터나 태스크 킬러 앱을 쓰라는 조언을 들어본 적이 있을 것입니다. 구글 플레이 스토어를 둘러보면 평점이 높은 태스크 킬러 앱이 수없이 많습니다.
그렇다면 RAM 부스터는 정말 효과가 있을까요? 결론부터 말하자면, 스마트폰에는 이런 앱이 전혀 필요 없으며 오히려 성능을 해칠 수 있습니다. 그 이유를 자세히 살펴보겠습니다.
RAM의 기본 개념
태스크 킬러가 어떻게 작동하는지 알아보기 전에, 먼저 RAM이 무엇이고 스마트폰에서 어떤 역할을 하는지 이해해야 합니다. RAM(Random Access Memory, 임의 접근 메모리)은 컴퓨터와 스마트폰에서 사용하는 빠르지만 휘발성인 저장 방식입니다.
운영체제(윈도우든 안드로이드든 다른 것이든)는 현재 실행 중인 프로그램을 RAM에 저장합니다. 즉, 스마트폰에서 앱을 열면 안드로이드가 해당 앱을 RAM에 불러오는 것입니다. 그리고 일정 기간 앱을 RAM에 유지하기 때문에 다시 전환할 때 앱 전체를 새로 불러올 필요 없이 중단했던 지점에서 바로 이어서 사용할 수 있습니다.
RAM은 휘발성 메모리이므로 스마트폰 전원을 끄면 저장된 모든 내용이 사라집니다. 이는 재부팅 후에도 데이터가 유지되는 영구 저장소와 대비되는 부분입니다. 다만 RAM에서 데이터를 읽는 속도는 본체 저장소에서 가져오는 것보다 훨씬 빠릅니다.
RAM에 대해 더 궁금하다면 RAM 기초 가이드를 참고해 보시길 권합니다.
안드로이드의 RAM 활용 방식
기기의 RAM 용량은 한정되어 있으니 프로세스를 직접 관리하는 것이 필수라고 생각할 수 있습니다. 윈도우 사용자라면 특히 그렇게 느끼기 쉽습니다.
윈도우에서는 운영체제가 사용하지 않는 RAM을 비워두고, 나중에 프로그램이 필요할 때를 대비합니다. 실행 중인 프로세스가 너무 많아 RAM이 가득 차면 윈도우는 페이지 파일(page file)로 전환합니다. 페이지 파일은 시스템에 더 많은 메모리가 필요할 때 가상 RAM처럼 작동하는 저장 드라이브의 일부 공간입니다.
SSD조차 RAM보다는 훨씬 느리기 때문에, 윈도우가 페이지 파일을 사용하기 시작하면 성능 저하를 체감하게 됩니다. 이럴 때 실행 중인 프로그램을 종료해 RAM을 확보하는 것이 좋은 선택입니다.
하지만 안드로이드는 상황이 다릅니다. 완벽한 격언은 아니지만, 안드로이드는 리눅스의 "남는 RAM은 낭비되는 RAM"이라는 원칙을 따릅니다. 리눅스 커널은 '사용하지 않는' RAM을 캐싱에 활용해 시스템 성능을 더욱 매끄럽게 만들어 줍니다.
실제로 안드로이드에서는 예전에 열어둔 앱이 더 최신 앱이 그 RAM을 필요로 할 때까지 계속 머물러 있습니다. 안드로이드는 사용 패턴에 따라 우선순위가 높은 프로세스를 위해 오래된 앱을 정리하는 방식으로 공간을 확보합니다.
안드로이드 RAM 사용 예시
간단한 예를 들어보겠습니다. 기기의 RAM이 4GB이고 각 앱이 500MB를 차지한다고 가정하면(시스템 프로세스가 사용하는 RAM은 제외), 스마트폰은 여유 공간이 바닥나기 전까지 8개의 앱을 RAM에 담을 수 있습니다.
이제 앱 네 개를 열어 각각 1분씩 확인한 뒤 30분간 폰을 내려놓았다고 해봅시다. 다시 폰을 집어 들고 그중 아무 앱이나 열면, 폰이 앱들을 RAM에 계속 보관하고 있었기 때문에 중단했던 지점에서 바로 이어서 사용할 수 있습니다.
여기서 앱을 다섯 개 더 열면 다섯 번째 앱에서 기기의 RAM 용량을 초과하게 됩니다. 그러면 안드로이드는 최근에 어떤 앱을 사용했는지, 어떤 앱이 우선순위를 갖는지 분석해 RAM에 있는 앱 중 가장 덜 중요한 것을 찾아냅니다. 예를 들어 Spotify로 음악을 듣고 있다면, 한동안 앱을 열지 않았더라도 안드로이드는 해당 백그라운드 프로세스를 살려둡니다.
이후 안드로이드는 가장 덜 중요한 앱을 RAM에서 내보내고 방금 연 앱을 그 자리에 담습니다. 내보내진 앱으로 다시 전환하면 해당 앱은 처음부터 다시 로딩해야 합니다.
태스크 킬러가 문제가 되는 이유
안드로이드의 RAM 활용 방식을 이해했다면, 이제 태스크 킬러가 이 과정에 어떤 영향을 미치는지 생각해 볼 차례입니다.
대부분의 태스크 킬러와 RAM 부스터는 비슷한 방식으로 작동합니다. 현재 실행 중인(즉, RAM을 사용 중인) 앱 목록을 보여주고, 버튼 하나만 누르면 해당 프로세스를 강제 종료해 RAM을 확보해 주겠다고 제안합니다. 종료 후에는 그 앱들이 더 이상 백그라운드에서 "리소스를 낭비하지 않는다"며 결과를 보여줍니다.
문제는 앱을 강제 종료하면 다음에 열 때 처음부터 다시 시작해야 한다는 점입니다. 게다가 일부 프로세스는 백그라운드에서 여러 가지 이유로 실행되어야 하기 때문에, 강제 종료 직후 곧바로 다시 시작되기도 합니다.
결국 앱을 계속 죽이는 것은, 앱을 RAM에 그대로 두었다가 필요할 때 빠르게 전환하는 것에 비해 리소스 낭비일 뿐입니다. 앞서 말했듯 안드로이드는 사용 패턴에 맞춰 RAM에 무엇을 남길지 충분히 똑똑하게 조절하며, 태스크를 강제 종료해서 "확보한" RAM은 성능 향상에 아무런 도움이 되지 않습니다.
위 예시를 이어가 보겠습니다. 최근에 앱 네 개를 열었다면 안드로이드는 네 앱 모두를 RAM에 보관 중입니다. 이때 RAM 부스터를 실행하면 아마 네 앱을 모두 종료해 "메모리를 확보"할 것입니다.
이는 전혀 의미가 없습니다. 몇 분 뒤 그 앱들을 사용할 거라면, 앱이 차지하던 메모리를 비워봐야 아무 이득이 없습니다. 안드로이드는 최근 앱을 RAM에 유지해 최대한 매끄러운 사용 경험을 제공하려 하는데, 태스크 킬러는 바로 이를 방해합니다.
또한 일부 태스크 킬러는 백그라운드에서 자동으로 실행되며 주기적으로 앱을 종료하기도 합니다. 이는 시스템 리소스를 소모하면서도 아무런 대가를 주지 못합니다.
최근 앱 스와이프로 닫는 것도 불필요합니다
태스크 킬러를 쓰지 않더라도, 과하게 사용하면 RAM 부스터와 비슷한 역할을 하는 안드로이드 기본 기능이 있습니다. 화면 하단에서 위로 스와이프한 뒤 길게 누르거나(네비게이션 바의 사각형 버튼을 누르거나) 접근하는 '최근 앱' 화면은 최근 앱 사이를 손쉽게 전환할 수 있게 해 줍니다.
여기서 앱을 위로 스와이프하면 최근 앱 목록에서 사라질 뿐 아니라 해당 프로세스까지 종료됩니다. 많은 사람들이 폰 사용을 마칠 때마다 스위처에 있는 모든 앱을 집요하게 쓸어내립니다.
이것은 전혀 필요 없는 행동입니다! 방금 사용한 앱을 닫는 것은 태스크 킬러로 종료하는 것과 같은 효과를 냅니다. 다음에 앱을 열 때 처음부터 다시 시작해야 하므로 폰이 더 많이 일하게 만드는 셈입니다. 데스크톱 브라우저를 새 페이지로 이동할 때마다 완전히 종료했다가 다시 실행하는 것과 마찬가지입니다.
'최근 앱' 메뉴는 닫아야 할 실행 중 앱 목록이 아니라 편리한 단축 스위처라고 생각하세요. 스위처가 지저분해지는 것이 싫거나 정말로 백그라운드 실행을 원하지 않는 경우에만 스와이프로 앱을 정리하면 됩니다.
안드로이드를 실제로 빠르게 만드는 방법
아마 태스크 킬러를 설치한 이유는 폰이 느리게 느껴졌기 때문일 겁니다. 다행히 태스크를 죽이지 않고도 안드로이드 기기 성능을 개선할 수 있는 여러 방법이 있습니다.
안드로이드 폰을 실제로 빠르게 만드는 다양한 방법을 정리한 자료들이 있으니, 실질적인 조언이 필요하다면 참고해 보시기 바랍니다.
안드로이드 태스크 킬러는 무조건 피하세요
지금까지 살펴본 것처럼 안드로이드 RAM 부스터와 태스크 킬러는 최선의 경우에도 쓸모가 없고, 최악의 경우 기기 성능을 오히려 떨어뜨립니다. 결국 가장 좋은 방법은 안드로이드 운영체제가 메모리를 알아서 관리하도록 두는 것입니다. 빈 RAM이 많다고 성능이 좋아지는 것이 아니라, 메모리에 저장된 앱이 빠르게 열릴 때 최상의 결과를 얻을 수 있습니다.
이제 앱을 함부로 죽이지 않게 됐으니, 안드로이드에서 멀티태스킹을 효과적으로 활용하는 방법도 함께 확인해 보세요.