【问题标题】:Android Viewholder for ViewPagerViewPager 的 Android Viewholder
【发布时间】:2011-09-16 21:24:22
【问题描述】:

您好,我正在使用 ViewPager,但我现在想保留状态,而不是重新生成单元格。

我注意到 viewpager 与列表视图的自定义适配器非常相似,并且它们的功能相似,其中列表视图在不再显示在屏幕上后重新生成单元格中的数据,viewpager 是相同的方式。

有没有办法做一个viewholder,一种在最初加载后保留每个视图状态的对象,以便viewpager单元加载更快。 (每个单元格都有一些处理和渲染,但我会自己测试内存的限制)

here is my viewpager

【问题讨论】:

    标签: android view state retain android-viewpager


    【解决方案1】:

    使用 FragmentPagerAdapter,它将所有已主动创建的 Fragment 对象保存在内存中:

    /**
     * Implementation of {@link android.support.v4.view.PagerAdapter} that
     * represents each page as a {@link Fragment} that is persistently
     * kept in the fragment manager as long as the user can return to the page.
     */
    

    【讨论】:

      【解决方案2】:

      在对布局进行膨胀后制作布局的 hashMap。如果您已经有相应页面的布局,只需从 hashMap 替换布局,否则膨胀新布局并将其存储在 hashMap 中。我不能保证您是否可以恢复状态。但它会减少每次用户在页面之间切换时的膨胀时间。

      【讨论】:

      • 这不会占用太多内存吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-07
      • 1970-01-01
      • 1970-01-01
      • 2015-04-16
      相关资源
      最近更新 更多