달력

82025  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

'task'에 해당되는 글 1건

  1. 2015.01.07 [android]Task 관련 공부중1

Task : 다른 패키지의 컴포넌트까지 포함하여 같은 목적으로 실행되는 컴포넌트의 그룹


1. 태스크는 동일 목적을 위한 액티비티 집합을 하나의 잡업으로 묶음으로써 사용자에게 통합된 경험을 제공한다.


2. 태스크는 실행되는 액티비의 순서를 기억하기 위해 액티비티 스택을 유지한다.


3. 스택 관리 정책에 영향을 미치는 요소는 두 가지가 있는데, 하나는 호출하는 쪽에서 지정하는 것이고, 하나는 호출을 당하는 쪽에서 지정하는 것이다.(상당히 고급기법이라고 한다. 두 속성 조합 시, 결과가 미세하게 다르다고 함. 연구해 볼 필요가 있음)

- 매니페스트의 액티비티 속성을 조정하여 액티비티의 실행 위치나 회수를 제어한다.

- 액티비티를 실행하는 인텐트의 플래그를 통해 액티비티의 동작을 제어한다.


4. 교차생성


5. LaunchMode

- standard : 디폴트 런치모드. 여러 번 생성 될 수 있으며, 스택의 어느 곳에나 놓일 수 있다. 호출 할 때마다 새로운 인스턴스가 현재 태스크의 스택 위쪽에 새로 생성.

- singleTop : standard와 같은 속성. 하지만 스택의 최상위에 있을 때는 새로 생성되지 않으며, 기존 인스턴스가 onNewIntent 메서드로 새 인텐트를 받느다.

- singleTask : 항상 새로운 태스크를 시작하며, 스택의 루트에만 놓인다. 여러개의 인스턴스를 생성하지 않으며, 스택의 위쪽에 놓일 수 없다. 다른 액티비티를 호충하여 스택 위쪽에 생성 할 수 있다.

- singleInstance : singleTask와 같지만, 다른 액티비티를 스택 위쪽에 생성하지 않는다. 어떤 액티비티든지 항상 새로운 태스크가 생성된다.


6. 액티비티 제거 방법

- 일반적으로 finish()를 호출하거나, back 키를 누르면 자동으로 종료

- alwaysRetainTaskState : 시간이 오래 지나도 스택의 모든 액티비티를 유지. 루트 액티비티에 대해 이속성을 지정

- clearTaskOnLaunch : 시간과 상관없이 재시작 할 때마다 루트만 빼고 나머지를 모두 종료한다. 루트에만 이 속성을 지정

- finishOnTaskLaunch : 재시작 할 때 이 액ㅌ이비티를 자동으로 제거. 개별액티비티에 지정 가능.


7. 인텐트의 플래그

- FLAG_ACTIVITY_NEW_TASK : 새로운 태스크를 시작한다.

- FLAG_ACTIVITY_SINGLE_TOP : 스택의 제일 위에 있으면 다시 생성하지 않는다.

- FLAG_ACTIVITY_CLEAR_TOP : 액티비티가 스택에 있다면, 위쪽의 모든 액티비티를 제거하고 새로 생성한다.

(이 외에도 다른 플레그가 많은 것 같지만, 책에 언급되지 않았으므로, 필요할 때 마다 찾아 쓰는걸로...)

'android' 카테고리의 다른 글

[android]Test 공부중5. MOCK 객체  (0) 2015.01.12
[android]Test 공부중4.  (0) 2015.01.07
[android]Test 공부중3.  (0) 2015.01.06
[android]Test 공부중2.  (0) 2015.01.06
[android]Test 공부중.  (0) 2015.01.06
Posted by 초코렛과자
|