posted by Kyleslab 2012. 11. 12. 14:13

당연히 Activity와는 다른 생명주기를 갖기때문에 fragment를 사용하는 개념은 액티비티와는 완전히 다르다. 모든 것은 FragmentManager를 통해 독립적으로 관리된다. 액티비티는 UI중심 즉 각각의 layout파일 중심으로 작동하면 된다고 생각하면되나 fragment는 fragmentManager중심이라고 생각하는 것이 맞다.

한 가지 예를 들어보자면 fragment는 혼자서 보일수는 없다 반드시 액티비티에 포함되어야한다. 하지만 그렇다고 해도 액티비티가 다시 생성되어서 모든 정보가 초기화되어도 fragmentManager에 기록된 정보는 그대로 살아 있다. 액티비티가 onCreate부터 다시 불리더라도 이전에 만들어서 fragmentManager에 add해둔 fragment는 아직 살아있다는 것이다. 

fragment를 포함하고 있는 Activity가 onCreate부터 다시불려초기화 되어도 add된 fragment들이 살아 있는 이유는 생명주기 자체가 따로 관리 되기 때문이다.



- Fragment LifeCycle(출처 android:Reference)

onAttach()(Activity Layout에 추가된 순간 호출! )부터 onResume()되면 화면에 display 되게 되고 onDetach되어 FragmentManager에서 사라질때까지 display되게 된다.


Fragment 생명주기에 대한 자세한 설명

http://blog.saltfactory.net/190

http://nkstudy.tistory.com/1


언제든 잘못된 설명은 말씀해주세요^^


'Mobile > Android' 카테고리의 다른 글

JNIEnv* 와 jclass  (0) 2012.11.13
JNI를 Xcode이용하기  (2) 2012.11.13
fragment에서 attach, detach method!  (0) 2012.11.12
Fragment 에서 방향 전환시 null 체크  (0) 2012.11.09
Fragment를 이용한 TabActivity  (0) 2012.11.09