○ 사용하는 이유 : 같은 액티비티에 대해 인텐트를 두 번 보내면 중복된 액티비티가 뜨게 되고 이 상태에서 시스템의 [뒤로가기] 버튼을 누르면 아래에 있던 액티비티가 나타난다. 플래그를 이용하면 중복된 액티비티가 띄어지는 것을 막을 수 있다.
◎액티비티가 처리되는 방식◎
①액티비티 매니저 라는 객체에 의해 '액티비티 스택'이라는 것으로 관리
②스택에 액티비티를 쌓아두다가 가장 상위에 있던 액티비티가 없어지면 이전의 액티비티가 다시 화면에 보임
③새로운 액티비티가 화면에 띄어지면 기존에 있는 액티비티들은 뒤에 가러져 있는 상황임.
④플래그를 사용하지 않아 동일한 액티비티가 여러개의 스택에 쌓이면 리소스 낭비를 불러 일으킬 수 있음.
◎대표적인 플래그◎
①FLAG_ACTIVITY_SINGLE_TOP | 액티비티를 생성할 때 이미 생성된 액티비티가 있으면 그 액티비티를 그대로 사용 |
②FLAG_ACTIVITY_NO_HISTORY | 처음 이후에 실행된 액티비티는 액티비티 스택에 추가되지 않음 |
③FLAG_ACTIVITY_CLEAR_TOP | 이 액티비티 위에 있는 다른 액티비티를 모두 종료시킴. |
'For developer > Android' 카테고리의 다른 글
(Android)my26_listview,리스트뷰 (0) | 2020.06.01 |
---|---|
(Android)my20_fragment1,my21_fragment2 (0) | 2020.05.27 |
(Android)my19_animation (0) | 2020.05.27 |
(Android)my17_orientation,my18_orientation2(정리x) (0) | 2020.05.27 |
(Android)my16_progress (0) | 2020.05.27 |