Intent 의 setFlags
FLAG_ACTIVITY_SINGLE_TOP
A, B의 Activity가 있을 경우 A Activity는 B Activity를 호출하고, B Activity는 다시 자기 자신의
Activity를 호출할때 호출하는 B Activity가 이미 Task앞에 위치하고 있을 경우 재활용됩니다.
동일한 Activity를 여러번 생성하는 것은 메모리 사용량, Activity 시작속도에 악영향을 미칩니다.
이런 경우 FLAG_ACTIVITY_SINGEL_TOP을 적절하게 활용하면 됩니다.
FLAG_ACTIVITY_NO_HISTORY
A, B의 Activity가 있을 경우 A Activity는 B Activity를 호출하고, B Activity는 다시 A Activity를
호출하고 Back버튼을 눌렀을 경우입니다.
FLAG_ACTIVITY_NO_HISTORY로 설정된 Intent로 시작된 B Activity는 흔적을 남기지 않게 됩니다.
특정한 이벤트에 대한 알람등을 위해 다이얼로그 형태로 화면에 표시되는 Activity에 적용할때 활용
FLAG_ACTIVITY_REORDER_TO_FRONT
A, B의 Activity가 있을 경우 A Activity는 B Activity를 호출하고, B Activity는 A Activity를 호출할때
어떤 Activity에서 특정 Activity로 점프하는 형식의 Flow를 구성해야 하는 경우 요긴하게 사용
Task의 순서를 뒤 썪는 다는 점에서 사용에 주의해야 합니다.
FLAG_ACTIVITY_CLEAR_TOP
A, B의 Activity가 있을 경우 A Activity는 B Activity를 호출하고, B Activity는 A Activity를 호출할때
B Activity가 종료되고 A Activity만 남게 됩니다.
특정 어플리케이션 대쉬보드나 Activity를 호출시 유용하게 사용됩니다.
주의할점 A -> B -> A 형태로 Activity를 호출할때 CLEAR_TOP만 사용하게 되면 기존 생성되었던
A Activity가 종료(onDestroy())된 후 새롭게 A(onCreate())가 생성됩니다
기존에 A Activity가 계속 사용되기를 원한다면 SINGLE_TOP FLAG와 함께 사용해야합니다.
FLAG_ACTIVITY_NEW_TASK
TASK란 사용자가 특정한 목적을 이루기 위해 따르게 되는 Activity들의 집합이다
실행 시킬려고 하는 Activity가 이미 작동중이 Task가 있다면 해당 Task에.
그렇지 않다면 아예 새로운 Task에 Activity를 위치시키면 됩니다.
참조
[http://webcache.googleusercontent.com/search?q=cache:j3QHoRE6UXkJ:blog.naver.com/PostView.nhn%3FblogId%3Dhuewu%26logNo%3D110084868855+FLAG_ACTIVITY_NEW_TASK&cd=1&hl=ko&ct=clnk&gl=kr]
[http://surprisen.egloos.com/2511530]
'Mobile > android' 카테고리의 다른 글
내 전화번호 보기 (0) | 2012.09.16 |
---|---|
My Application (0) | 2012.09.13 |
Context (0) | 2012.08.30 |
AsyncTask (0) | 2012.08.29 |
Android Api 주소 (0) | 2012.08.29 |