Android 每次激发getItem()时都创建一个片段?
在中,有一个Android 每次激发getItem()时都创建一个片段?,android,sdk,Android,Sdk,在中,有一个FragmentStatePageAdapter,每当getItem激发时,它都会实例化一个片段。这是理智的吗?我检查过了,每次刷卡都会触发,这意味着每次它都会创建一个片段?这是正确的吗 @Override public Fragment getItem(int i) { Fragment fragment = new DemoObjectFragment(); Bundle args = new Bundle(); // Our object is just
FragmentStatePageAdapter
,每当getItem
激发时,它都会实例化一个片段。这是理智的吗?我检查过了,每次刷卡都会触发,这意味着每次它都会创建一个片段
?这是正确的吗
@Override
public Fragment getItem(int i) {
Fragment fragment = new DemoObjectFragment();
Bundle args = new Bundle();
// Our object is just an integer :-P
args.putInt(DemoObjectFragment.ARG_OBJECT, i + 1);
fragment.setArguments(args);
return fragment;
}
我对安卓系统还很陌生,所以我只是想对它进行一次精神检查。听起来不对。这在FragmentStatePagerAdapter
中是正常的
根据:
当有大量数据时,此版本的寻呼机更有用
页,更像列表视图。当页面对用户不可见时
用户,他们的整个片段可能会被销毁,只保留
保存该片段的状态。这使得寻呼机能够抓住更多的信息
与其他页面相比,与每个访问页面关联的内存更少
碎片PageRadapter的成本可能会更高
在页面之间切换
因此,FragmentStatePagerAdapter可以帮助您保持较低的内存占用。为此,它可能会破坏不可见的碎片
通常,您可以设置要保存在内存中的ViewPager的屏幕外页面数。这在FragmentStatePagerAdapter
中是正常的
根据:
当有大量数据时,此版本的寻呼机更有用
页,更像列表视图。当页面对用户不可见时
用户,他们的整个片段可能会被销毁,只保留
保存该片段的状态。这使得寻呼机能够抓住更多的信息
与其他页面相比,与每个访问页面关联的内存更少
碎片PageRadapter的成本可能会更高
在页面之间切换
因此,FragmentStatePagerAdapter可以帮助您保持较低的内存占用。为此,它可能会破坏不可见的碎片
一般来说,您可以设置要保存在内存中的ViewPager的屏幕外页数。啊,谢谢。我知道它们可能会被销毁,但每个片段的生成成本都有点高(我动态绘制UI),所以我想知道是否可以将它们保存在数组列表中,然后分发出去。这是一个很好的解决方案,还是片段
会被销毁?我只有1-10页,所以听起来我需要一个片段页面适配器
,嗯……啊,谢谢。我知道它们可能会被销毁,但每个片段的生成成本都有点高(我动态绘制UI),所以我想知道是否可以将它们保存在数组列表中,然后分发出去。这是一个很好的解决方案,还是片段
会被销毁?我只有1-10页,所以听起来我需要一个片段页面适配器
,嗯。。。