안녕하세요^^ 이제 처음 안드로이드에 입문하는 사람입니다.
액티비티 생명주기를 공부하면서
onPause와
onStop을 보는데
도무지 이해가 안되서 질문드립니다.
1)
onPause가 호출조건중 하나는 다른 액티비티가 실행되었을때
onStop이 호출조건중 하나는 다른 액티비티에 의해 가려졌을때 (보이지 않는상태)
라는데 두개의 차이점이 애매하내요.
실제 폰에서 사용하는 측면으로 보면
onPause의 경우 어떤 앱을 사용하다가 연동되는 지도맵을 켰다. 이게 다른 액티비티가 실행되었지만 보이지 않는 상태는 아닌거같은 예인거 같고
onStop의 경우 그냥 홈키눌러서 홈런처를 실행하거나 등 이렇게 아예 안보이게 최소화 시킨경우?라고 생각했는데
도무지 헷갈리내요
문서를 읽어도 onPause는 저장관련되있어서 pause상태에서 resume으로 돌아가면 이전상태가 복원되고
stop은 문맥상 이전 데이터는 삭제되고 stop상태에서 resume으로 돌아가면 restart호출하여 그냥 메모리 해제했다가 다시 실행된것 처럼 데이터 날라간다고 되어있는데
2)
여기서 백그라운드상태에 대해서 또 의문이 생깁니다.
백그라운드의 기준이 무엇인지 , 홈키를눌러 안보이던 다른앱에의해 가려지던 다른앱과 연동을하던 다 백그라운드라고 치나요?
백그라운드상태에서 앱이 돌면 데이터가 저장되어있거나 음악을 재생 네트워크로 무엇을 주고받는다던지하는 것 같았는데
문서에서 백그라운드상태(onstop부른)이라고 되어있는 구절이 있어서 onstop은 데이터 날라가지 않나? 내가 사용하는 앱들은 홈키눌르거나 다른 앱 해도 다시 부르면 이전상태 복원되던데 이건 onstop에서도 저장을 따로 구현해준 경우인가
아니면 제가 onpause와 onstop을 정확히 인지 못해서 헷갈려하는것인가?
요약 : 1) pause와 stop의 명확한 차이 (말이 비슷해서..) 2) 백그라운드상태란 정확히 무엇인가 (데이터 저장 관계 유무에 상관 없이 안보이기만하면 백그라운드인가 데이터 저장된상태 혹은 상호작용하는 상태에서 안보이는게 백그라운드인가)
---
적으면서도 헷갈리내요 ㅠ 두서없이 적어서 죄송합니다.
그럼 좋은하루되세요^_^




저장되어야할 정보는 onpause에서 해주셔야 되구요.
onPause가 요청될때는 activity가 중단되거나 다른 자원들을 요청할때 호출되구요.
다른 자원이라고 하면 activity나 intent등 여러가지 있겠구요.
onStop은 activity 중단시키고 화면에 보이지 않는 상태로 바꿀때 호출이 됩니다.
1번은 라이프 사이클 보시면 이해하실거 같아요
저도 배우는 단계라 아직 많이 부족합니다.