○ 사용하는 이유 : 같은 액티비티에 대해 인텐트를 두 번 보내면 중복된 액티비티가 뜨게 되고 이 상태에서 시스템의 [뒤로가기] 버튼을 누르면 아래에 있던 액티비티가 나타난다. 플래그를 이용하면 중복된 액티비티가 띄어지는 것을 막을 수 있다.

 

◎액티비티가 처리되는 방식

 

①액티비티 매니저 라는 객체에 의해 '액티비티 스택'이라는 것으로 관리

②스택에 액티비티를 쌓아두다가 가장 상위에 있던 액티비티가 없어지면 이전의 액티비티가 다시 화면에 보임

③새로운 액티비티가 화면에 띄어지면 기존에 있는 액티비티들은 뒤에 가러져 있는 상황임.

④플래그를 사용하지 않아 동일한 액티비티가 여러개의 스택에 쌓이면 리소스 낭비를 불러 일으킬 수 있음.

 

◎대표적인 플래그

①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

+ Recent posts