我有一個ViewPager和FragmentPagerAdpater和3片段來實現選項卡滑動視圖。 ViewPager是否應該在第一次渲染後「記住」3個視圖?ViewPager查看持有者模式?
我的問題是,一段時間後,3個視圖的佈局「被遺忘」。這意味着我需要再次更新它們,用戶在更新之前會看到醜陋的部分。
viewpager是否還有查看模式?我可以使用什麼技術來保留那些已經呈現的視圖或防止它們被銷燬?
我有一個ViewPager和FragmentPagerAdpater和3片段來實現選項卡滑動視圖。 ViewPager是否應該在第一次渲染後「記住」3個視圖?ViewPager查看持有者模式?
我的問題是,一段時間後,3個視圖的佈局「被遺忘」。這意味着我需要再次更新它們,用戶在更新之前會看到醜陋的部分。
viewpager是否還有查看模式?我可以使用什麼技術來保留那些已經呈現的視圖或防止它們被銷燬?
您可以使用ViewPager
setOffscreenPageLimit()
來控制有多少頁面保存在內存中,並在滾動到之前預先創建。默認情況下,它的值是1,這意味着它會將當前頁面保留在內存中以及頁面前後的頁面中。根據您的頁面大小(全屏或部分屏幕),將其增加至2將阻止頁面在屏幕上構建。
在你的標籤適配器只覆蓋destroyItem()方法&報價出來的超級聲明
這將節省您的片段的情況下,他們不會需要重新加載並再次
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// TODO Auto-generated method stub
// super.destroyItem(container, position, object);
}
東西喜歡這個。
這實際上是這樣做的。謝謝! – xiangxin
謝謝。它幫助我。 – QuestionAndroid