반응형
안녕하세요 돼지왕왕돼지입니다.
오늘 살펴볼 manifest attribute 는 allowTaskReparenting = "true" | "false" 입니다. 이 녀석은 activity 의 attribute 죠.
이 녀석은 taskAffinity 라는 attribute 와 깊은 관련이 있죠.
자 Developer 를 살펴볼까요?
- 새로 시작하는 activity 가 launch 시킨 task 가 아닌, 같은 affinity 를 가진 task 에서 launch 되도록 결정하는 값.
- affinityTask 값은 application 의 package name을 상속하며, allowTaskReparenting 의 default 는 "false" 입니다.
- 보통의 경우는 새로운 launch 되는 activity는 launch 시킨 task의 top에 붙지만,
이녀석을 true 로 주면 본래 application task ( affinityTask 값이 같은 ) 의 top stack 으로서 launch 됩니다.
( 이걸 re-parenting 이라고 부른다. )
이녀석을 true 로 주면 본래 application task ( affinityTask 값이 같은 ) 의 top stack 으로서 launch 됩니다.
( 이걸 re-parenting 이라고 부른다. )
- 이 attribute 는 launchMode 의 standard와 singleTop 에만 작용한다.
이런식으로 써 있네요. 허허. 이해가 가시나요??
읽고 또 읽으면 못 이해할 것이 없노니.. ( 응?? ㅋ )
여기서 용어 정리 한번 해볼까요? Re-parenting 이란게 무슨 뜻일까요?
Re-parenting 은 한국말로 직역하면, "재부모화" 입니다.
즉, 보통 어떤 activity 가 launch 되면 task stack 의 최상단에 쌓이게 되면서 child 가 되는데,
child 가 자신을 낳아준 부모가 아닌, 다른 부모를 찾아가는.. re (다시) parenting (부모화, 부모지정) 한다는 얘깁죠.
child 가 자신을 낳아준 부모가 아닌, 다른 부모를 찾아가는.. re (다시) parenting (부모화, 부모지정) 한다는 얘깁죠.
자.. 이해가 안 될 땐 뭐?? 예제죠??
이건 developers 에 나와있는 예제입니다.
한 유저가 Email 을 읽다가 인터넷 주소 링크가 있어서 클릭을 했습니다.
이 때, allowTaskReparenting 이 false 가 되어있다면, 아래 그림에서처럼 새롭게 띄워진 Web page 는
E-mail task 의 가장 윗 층을 차지하게 되겠죠. ( 가장 왼쪽 그림 )
자! 그럼 allowTaskReparenting 이 true 라면??
'Reparenting' 화살표를 따라, Web browser의 task로 이동하게(Re-parenting) 됩니다.
( Web page activity의 taskAffinity 값은 기본적으로 Web browser application 과 같기 때문이죠. )
자 Re-parenting 되었으니, 원래 E-mail Task 에서는 해당 Web page 가 빠져서 결과적으로 E-mail Task는
3번째 그림과 같은 모양이 됩니다.
즉 re-parenting결과는 2번째 3번째 그림의 상태라고 보시면 됩니다.
자 이제 이해가 되시나요??
자 그럼 오늘도 화이팅~
자 그럼 오늘도 화이팅~
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[Android/안드로이드] Manifest Activity 태그 clearTaskOnLaunch. (0) | 2012.02.01 |
---|---|
[Android/안드로이드] Manifest Activity 태그의 속성 alwaysRetainTaskState. (0) | 2012.01.31 |
[Android/안드로이드] Manifest Attribute process. ( android:process ) (0) | 2012.01.31 |
[Android/안드로이드] Manifest Activity 태그의 taskAffinity Attribute. (3) | 2012.01.31 |
[Android/안드로이드] Manifest 에서 <activity-alias> 라는 component 본 적 있는 분 손~ (0) | 2012.01.30 |
댓글