티스토리 뷰

반응형

안녕하세요 오늘은 FragmentAdapter에 대해서 알아보겠습니다



1. Fragment를 사용하는adapter


사용설명 :  http://android-developers.blogspot.com/2011/02/android-30-fragments-api.html


위에 영어로 되어있어서 좀 그렇긴한데 플래그먼트에 대해서 나온 이야기니 읽어보기 바란다.


Fragment는 Android 3.0 (허니콤)부터 추가된 기능이다. 


Fragment를 사용하는 Adapter를 쓴다면 3.0 이전의 버전에서 개발하는 앱에서는 사용을 못하는 것인가? 결론부터 말하면 그렇지 않다. 


ViewPager를 사용하기 위해 받은 Support Package에는 v4와 v13 2개의 라이브러리가 있다. 


v4는 api 버전 4. 즉 1.6 도넛 부터 사용할 수 있게 만든 라이브러리 이다. 3.0 이전의 버전에서는 이 라이브러리를 통해서 FragmentPagerAdapter와 


FragmentStatePagerAdapter를 사용할 수 있다.


2. FragmentPagerAdapter와 FragmentStatePagerAdapter


Fragment를 처리하는 PagerAdapter는 두 가지 Class가 존재한다. 하나는 FragmentPagerAdapter 이고 다른 하나는 FragmentStatePagerAdapter이다. 


FragmentPagerAdapter의 경우, 사용자가 ViewPager에서 좌/우로 스크롤(플링)하여 화면 전환을 하여 다음 Fragment가 표시되면 이전 Fragment를 메모리 상에 


저장해 만일 사용자가 화면을 반대로 이동하면 메모리 상에 저장되어있는 Fragment를 사용하게된다.


2번째 FragmentStatePagerAdapter는 ViewPager의 페이지를 이동하여 다음 Fragment가 표시되면 이전 Fragment는 메모리 상에서 제거된다. 


사용자가 화면을 다시 반대로 전환하면 기존에 저장된 상태값(state)을 기반으로 재생성합니다.


그러므로 페이지 수가 정해져 있고 그 수가 많지 않다면 FragmentPagerAdapter를 사용하는 편이 좋고 반대로 페이지 수를 알 수 없거나 많다면 


FragmentStatePagerAdapter를 사용하는 것이 좋다.



like miller 님의 블로그에서 가져온 정보입니다.

http://blog.daum.net/mailss/19


http://www.hardcopyworld.com/ngine/android/index.php/archives/164

 



반응형
댓글