마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

앱 종료 관련해서 질문있습니다.

0 추천
안녕하세요.  앱 종료 관련해서 질문있어서 글 올립니다.

만들고 있는? 앱은 사물인터넷 관련 실시간으로 데이터 받아와서 표시해주는 (대략 말하자면..?) 그런 앱입니다.

태블릿 3개가 있는데 3개중 2개가 메모리가 3기가인 태블릿인데 앱을 켜놓고 있다가 한 10분 또는 30분이 지나면 앱이 꺼지더라고요 백그라운드에서는 계속 돌고는 있습니다. 그러나 메모리가 8기가인 태블릿은 종료되지 않고 정상적입니다. 이 문제는 메모리가 부족해서 안드로이드에서 자동으로 앱을 종료하는 걸까요..? 왜인지 이유를 알고 싶습니다.
잘개 (330 포인트) 님이 2022년 1월 24일 질문
잘개님이 2022년 1월 24일 수정

1개의 답변

+1 추천
안드로이드 시스템은 앱이 백그라운드에 있을 때, 메모리가  부족하면, 앱을 통보없이 죽일 수 있습니다.  이 경우 사용자가  task manager(디바이스 하단에 있는 네모모양의 버튼)으로 부터 앱을 다시 시작하면, 마지막에 보였던 화면을 다시 생성해 줍니다. 이 때 앱에 종료되기 전에 데이터를 보관하지 않았다면, 데이터 손실이 있게 됩니다. 따라서 안정적인 앱을 만들려면, 이 상황에 대비해 코드를 작성해 주어야 합니다.
spark (227,470 포인트) 님이 2022년 1월 24일 답변
마지막에 보였던 화면이 안나오고 처음 화면 즉, splash부터 다시 나오는 경우인데 이 문제도 메모리 부족인가요??
이것도 마찬가지로 답글에서 말씀드린 증상같아 보여요. 예를 들어, 앱에서 엑세스토큰을 가지고 서버의 API와 통신한다고 한다고 하면, 앱이 죽어버리면(토큰을 DB나 파일같은데 보관하지 않는다면) 토큰이 사라지게 되겠죠. 그러면 원래 있던 화면으로 갈 수가 없는 경우가 생기게 됩니다. 어쨋든 앱이 죽은 것으로 보입니다.
그리고 이걸 Process Death라고 부릅니다.
구글에 검색해 보시면 상당히 많은 검색결과를 보실 수 있을 거예요.

안드로이드 개발자 사이트에서도 관련 내용에 대해 언급을 하고 있으니, 확인해 보세요.

https://developer.android.com/topic/libraries/architecture/saving-states
...