안녕하세요~
안드로이드를 공부하고 있습니다.
intent 에 대해서 공부하다가 ...
1) intent 를 호출할때, FLAG_ACTIVITY_NEW_TASK flag 를 주는 경우와 
2) manifast 파일에 allowTaskReparenting = true, 를 해주는 경우에 대해서 차이점이 있는지 궁금하여 문의합니다.

(테스트 환경)
A app 을 A-1, A-2, A-3, B-2 로 진행되도록 app 을 만들어놓구요~
B app 을 B-1, B-2, B-3 로 진행되도록 app  을 만들어놓구...
    1) A app 에서 B-2 로 진행시 FLAG_ACTIVITY_NEW_TASK flag  를 주는경우와.. (설정1)
    2) B app 에서 allowTaskReparenting = true, affinity = aaa.bbb.ccc 설정후 진행하는경우에 대해서 (설정2)
    테스트 해보았는데요...

(경우 1)
B app 을 B-1 에서 home 키로 빠져나오구...
A app에서 B-3 까지 진행후 home 키로 빠져나와...
B app 으로 진입할 경우 두가지 설정 모두 B-3 이 표시되고.. 이후 back 동작시 B-2, B-1 그리고 idle 로 진행되네요...

(경우 2)
B app 을 실행 시키지 않고..
외와 같이 A app 을 B-2까지 진행한뒤 home 키로 빠져나와
B app 으로 진입하면  두가지 설정 모두 B-2 가 보이고 back 동작시 idle 이 되네요...

(경우 3)
B app 을 실행 시키지 않고..
A app 을 B-3 까지 진행한뒤 home 키로 빠져나와
A app 을 진입해보면 두가지 설정 모두 .. A-3 으로 되어있네요...

제가 테스트 해볼땐... 틀린점이 없는것 같은데요..
1) 둘다 동일한 기능을 하는게 맞는지요? 틀린점은 없는지요?
     아니면 제가 촛점을 잘못 맞추고 있는것인지요?


FLAG_ACTIVITY_NEW_TASK 는 app 이 있으면 해당 app 의 stack 에 쌓이고,
없으면 해당 task를 만들어서  stack 에 쌓인다고 하던데....
    A app 에서 B-3 까지 진행하게되면... B-2 는 B app stack에 쌓일것으로 예상되는데요... 
    그럼 A app 으로 B-3 까지 진행한 뒤의 back 은 
    적어도 ...  (B-3) -> A-3 -> A-2 -> A-1 -> idle  (A app 으로 진행)
     혹은  (B-3) -> B-2 -> idle 로 진행되어야 맞는것 아닌가요? (B app 으로 진행)
    그런데.. 실제론 (B-3) -> B-2 -> A-3 -> A-2 -> A-1 -> idle 이더라구요...  A app 이 B app 의 stack 를 참조하는건지.. ??
    2) 제가 잘못 이해하고 있는건가요?
   
allowTaskReparenting = true 의 경우 해당 affinty가 같은 app 이 front 로 나올경우
그때 stack 이동 한다던데... 
     A app 에서 B-3 까지 이동후, B app 실행 시키지 않고, 다시 A app 에 진입하게되면... 
     B app 이  front 로 나온것도 아닌데.. B-3, B-2가 사라지고 A -3 이 나오던데... 
     (추후 A app 진입해보면, A app stack에 존재함을 알수 있음)
     그럼 front 를 불문하고 affinity  가 같은 task 에 붙던지 생성후 붙던지 하는 것이자나요~
     3) 이것두 제가 잘못 이해하고 있는건가요?


누구 명확한 답좀 부탁드려요~~~
펍스 님들 ~~ 알려주세요~