Android有效导航示例.该片段是多次创建的



我正在围绕Android的标准有效导航示例,该示例显示了如何创建可滑动视图

可以从下一页下载代码:http://developer.android.com/training/implementing-navigation/lateral.html

在getView()方法中,创建了一个新片段。这不是一个糟糕的做法,也不会导致内存泄漏。

public Fragment getItem(int i) {
    switch (i) {
        case 0:
            // The first section of the app is the most interesting -- it offers
            // a launchpad into the other demonstrations in this example application.
            return new LaunchpadSectionFragment();
        default:
            // The other sections of the app are dummy placeholders.
            Fragment fragment = new DummySectionFragment();
            Bundle args = new Bundle();
            args.putInt(DummySectionFragment.ARG_SECTION_NUMBER, i + 1);
            fragment.setArguments(args);
            return fragment;
    }
}

如果您仔细阅读了ViewPager文档,则提供了两个适配器内容:

来自Android开发人员文档

fragmentPagerAdapter:

当通常有少数几个静态片段要在诸如一组标签之类的情况下,最适合使用此版本的Pager。每个页面的片段都将保存在内存中,尽管在不可见时可能会破坏其视图层次结构。这可能会导致使用大量内存,因为片段实例可以保留任意数量的状态。

fragmentStatePagerAdapter

当有大量页面时,此版本的Pager更有用,更像列表视图。当用户看不到页面时,它们的整个片段可能会被破坏,只能保留该片段的保存状态。与FragmentPagerAdapter相比,Pager可以保持与每个访问的页面相关的记忆更少的记忆,而在页面之间切换时可能会增加开销的成本。

您可以看到,您可以根据您的要求插入ADADPTER,如果有大量数据,则可以实现fragmentStatePagerAdapter,以照顾片段的生命周期。

如果您不想动态创建片段,则可以在构造函数中实例化单个片段,并在GetView上使用

将其返回。
myFragment.setArguments(Bundle Instance);

最新更新