1. 개요
startActivity() 나 startActivityForResult() 메서드를 호출하면 액티비티 화면을 띄울 수 있습니다.
그런데 동일한 액티비티를 계속 위의 메서드로 호출하게 되면 동일한 액티비티가 메모리에 여러 개 만들어질 것입니다. 이를 방지하기 위해서 Flag(플래그)를 사용할 수 있습니다.
플래그를 사용하면 동일한 액티비티가 계속해서 생성되지 않고 하나의 액티비티만 존재하게 할 수 있습니다.
2. 생명주기
다른 액티비티에서 이미 생성된 액티비티를 호출하면 onNewIntent() → onResume() 메서드 순서로 호출됩니다.
그런데 만일 동일한 액티비티에서 동일한 액티비티를 호출하면 onPause() → onNewIntent() → onResume() 메서드 순서로 호출됩니다. 즉, 기존 액티비티에선 onStop() 메서드가 호출되지 않는 것입니다. 따라서 만일 데이터를 저장해 동일한 액티비티에 표시를 하거나 데이터 자체가 필요할 경우, onPause() 메서드에 저장을 해야 할 것 같습니다.
728x90
반응형
'Android > 공부' 카테고리의 다른 글
툴바(Toolbar) 내부 텍스트뷰(TextView) 문자열 가운데로 배치하는 법 (0) | 2021.12.26 |
---|---|
SharedPreferences 개념 및 사용법 (0) | 2021.12.19 |
ListView와 RecyclerView의 차이점 (0) | 2021.12.17 |
안드로이드 화면 전환 애니메이션(+ 화면에 보이는지 여부에 따라 애니메이션 다르게 설정) (0) | 2021.12.09 |
에디트텍스트(EditText) 관련 짜투리 지식 2 (한 줄로 입력받기, 엔터키 이벤트, 키보드 사라지게 만들기) (0) | 2021.12.08 |