Xiaomi에서 백그라운드로 가면 위치 변경이 저절로 꺼지는 이유는?

MIUI와 HyperOS(Xiaomi, Redmi, POCO)는 다른 스킨보다 백그라운드 앱을 더 적극적으로 종료합니다. Mock Location의 자동 시작을 켜고 배터리 제한을 해제하세요. 앱이 처음 실행할 때 이를 안내합니다.

위치 변경은 백그라운드 서비스가 유지하며, ‘저절로 꺼졌다’는 것은 거의 언제나 펌웨어가 서비스를 종료했다는 뜻입니다. 시스템 로그에는 앱 오류가 아니라 시스템이 프로세스를 강제 종료한 것으로 나타납니다.

그다음에는 눈에 잘 띄지 않는 일이 일어납니다. 테스트 제공자는 마지막으로 기록된 값과 함께 Android에 등록된 채 남지만, 새 좌표를 기록하는 주체가 없습니다. 이를 만든 프로세스가 더 이상 없기 때문입니다. 겉으로는 ‘위치 변경이 멈춘’ 것처럼 보입니다. 지점은 그대로이지만 갱신되지 않고, 얼마 후 시스템이 실제 위치를 돌려줍니다. 그래서 문제를 곧바로 알아채지 못하는 경우가 많습니다.

Xiaomi, Redmi, POCO 사용자가 가장 자주 겪습니다. MIUI와 HyperOS는 백그라운드 프로세스를 다른 스킨보다 엄격하게 관리합니다. 해결 방법은 세 가지 설정, 즉 자동 시작, 배터리 제한 해제, 최근 앱에서 고정입니다. 정확한 경로는 Xiaomi 전용 안내에 있습니다. 셋 중 하나만 한다면 자동 시작을 켜세요. 이것이 없으면 프로세스가 종료된 뒤 시스템이 서비스를 전혀 되살리지 않아, 직접 앱을 열 때까지 위치 변경이 돌아오지 않습니다. 자동 시작이 켜져 있으면 시스템이 몇 초 안에 서비스를 되살리고, 앱은 저장된 상태를 불러와 사용자 개입 없이 계속 작동합니다.

Samsung에서도 원인은 같지만 이 기능을 ‘절전 상태 앱’이라고 부릅니다. One UI는 한동안 쓰지 않은 앱을 자동으로 절전 상태로 만드는데, 위치 변경 앱은 휴대전화가 주머니에 있는 동안 바로 그렇게 쉬는 것처럼 보입니다. One UI 경로는 Samsung 안내에 있습니다. Huawei와 Honor에서는 자동 실행 관리를 끄고 세 가지 스위치(자동 실행, 보조 실행, 백그라운드에서 실행)를 모두 켜세요. 자세한 내용은 Huawei 안내에 있습니다.

앱도 스스로 두 가지를 따로 합니다. 앱을 열면 저장된 상태와 실제 상태를 비교해 프로세스가 죽었으면 위치 변경을 되살립니다. 이 방법은 항상 작동합니다. 그 밖에 감시 타이머가 백그라운드에서 주기적으로 상태를 확인하고 서비스를 스스로 복원하려고 합니다. 하지만 둘 다 한계가 있습니다. 펌웨어가 앱의 백그라운드 시작을 금지하면 사용자 없이는 서비스를 되살릴 수 없습니다. 그 순간에는 코드가 아예 실행되지 않기 때문입니다. 그래서 펌웨어 설정은 프로그램으로 대신할 수 없습니다.

결과를 확인하는 가장 쉬운 방법은 알림 창의 상시 알림입니다. 알림이 있는 동안 서비스는 살아 있습니다. 사라졌다면 결국 시스템이 종료한 것이니 위의 설정으로 돌아가세요.

더 궁금한 점이 있나요? 고객 지원에 문의.