FragmentStatePagerAdapter和FragmentPagerAdapter區(qū)別

FragmentStatePagerAdapter和FragmentPagerAdapter用法基本一致,唯一的區(qū)別在于卸載不再需要的Fragment時(shí),各自采用的處理方法不同。
FragmentStatePagerAdapter會(huì)銷毀不再需要的Fragment。事務(wù)提交后,activity的FragmentManager中的fragment會(huì)被徹底移除。FragmentStatePagerAdapter類中的“state”表明:在銷毀Fragment時(shí),可在onSaveInstanceState(Bundle)方法中保存Fragment的Bundle信息。用戶切換回來時(shí),保存的實(shí)力狀態(tài)可用來生成新的Fragment。
相比之下,F(xiàn)ragmentPagerAdapter對(duì)于不再需要的Fragment,會(huì)調(diào)用事務(wù)的detach(Fragment)方法來處理,而不是remove(Fragment)方法。換句話說就是FragmentPagerAdapter只是銷毀了Fragment的視圖,當(dāng)這個(gè)Fragment實(shí)例還保留在FragmentManager中。因此,F(xiàn)ragmentPagerAdapter創(chuàng)建的Fragment永遠(yuǎn)不會(huì)被銷毀。

說道具體的用途,使用FragmentStatePagerAdapter更加節(jié)省內(nèi)存,所以適合顯示大量的數(shù)據(jù)。而FragmentPagerAdapter則更加適合顯示少量固定的Fragment,比如一般App常用的Tab頁。通常只有固定數(shù)量的tab頁3~5頁,所以也不用擔(dān)心內(nèi)存不足的問題。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 在使用ViewPager常用設(shè)置1)mViewPager.setOffscreenPageLimit(2);//設(shè)...
    kangqiao182閱讀 7,743評(píng)論 2 12
  • 《Android Fragment完全解析,關(guān)于碎片你所需知道的一切》 我們都知道,Android上的界面展示都是...
    cxm11閱讀 2,205評(píng)論 2 19
  • 我總是喜歡自己看東西,原來這個(gè)習(xí)慣就不好,輸入多,輸出少。所以,還是把自己研究的寫問題記錄總結(jié)一下,也可以給大家分...
    飄雨cc閱讀 424評(píng)論 1 0
  • 1.有道云筆記 1)有道云筆記及使用緣由簡(jiǎn)介 手機(jī)APP:有道云筆記。有手機(jī)應(yīng)用版本,也有網(wǎng)頁版本可以在PC端瀏覽...
    進(jìn)士及第閱讀 1,538評(píng)論 0 11
  • 3.魯周公世家 周公 周公姬旦,為人孝順,仁慈敦厚,是周武王的弟弟。 周公輔佐武王,推翻商紂,建立周朝,被封為魯公...
    面包馬戲團(tuán)閱讀 1,119評(píng)論 0 5