자바 어플 개발/안드로이도 스튜디오 개념

Stack

appmaster 2019. 7. 23. 13:25

스택을 관리하는 방법은 2가지가 있다.

 

1. Launch Mode 

 

Standard (Activity를 복수개를 생성 할 수 있다.)

- 기본모드

- 다중 인스턴스 허용

특별히 설정하지 않아도 적용이된다.

 

 

singleTop (Activity를 복수개를 생성 할 수 있다.)

- 조건부 다중 인스턴스 허용

- 해당 액티비티가 최상위 stack에 있을 경우에는, onNewIntent() 메서드를 호출 한다.

 

 

singleTask (Activity를 복수개를 생성 할 수 없다.)

- 비권장

- 오직 한개만 생성 될 수 있고, 자신이 새로운 stack을 만들어 나가고, 다른 액티비티들을 위에 쌓을 수 있다. 

 

 

singleInstance (Activity를 복수개를 생성 할 수 없다.)

- 비권장

- 오직 한개만 생성 될 수 있고, 자신이 새로운 stack을 만들고 나가고, 다른 액티비티들을 위해 쌓을 수 없다.

 

 

 

2. Intent Flag (액티비티의 스택과 애니메이션 유무도 관리 할 수 있다.)

 

FLAG_ACTIVITY_BROUGHT_TO_FRONT

- 시스템에 의해 설정되는 값

- Activity가 singleTask이고 이미 activity스택에 존재하고 있는 상태라고 가정 했을 때, 호출된 Activity가 다시 호출 된다. (즉 재생성이 된다는것이 아니다.)

 

 

FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET

- 플레그가 사용된 액티비티부터 최상단의 액티비티까지 모두 삭제한다. (만약 스택을 호출하게 된다면, 호출된 위치에서 부터 쌓여서 올라간 그 부분사이의 스택들을 모두 destroy한다.)

 

 

FLAG_ACTIVITY_CLEAR_TOP

- 스택에 엑티비티가 존재하고 있을 경우 새롭게 생성하지 않고, 앞으로 가져온다.

- 앞으로 가져올때 최상단 엑티비티부터 호출된 엑티비티까지 모두 삭제한다.

 

 

FLAG_ACTIVITY_NO_ANIMATION

- 엑티비티가 전환 될때 애니메이션 효과를 사용 하지 않는다.

 

 

FLAG_ACTIVITY_REORDER_TO_FRONT

- 호출 하려는 엑티비티가 스택에 존재하고 있는 경우 스택의 순서를 재정렬 한다.

'자바 어플 개발 > 안드로이도 스튜디오 개념' 카테고리의 다른 글

Intent에 데이터를 input하는 방법  (0) 2019.07.22
Intent  (0) 2019.07.22
Activity  (0) 2019.07.22